jdbctemplate

1.建数据表

2.搭建分层.

2.1.entity层

2.1.1 book类

public class Book {
    private Integer bookid;
    private String bookname;
    private Integer bookprice;

    public Integer getBookid() {
        return bookid;
    }

    public void setBookid(Integer bookid) {
        this.bookid = bookid;
    }

    public String getBookname() {
        return bookname;
    }

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public Integer getBookprice() {
        return bookprice;
    }

    public void setBookprice(Integer bookprice) {
        this.bookprice = bookprice;
    }
}

2.2 dao层

2.2.1接口

public interface IBookDAO {
    //查询素有图书
    public List<Book> findAll();
}

2.2.2.BookDAOimpl 类

public class BookDAOimpl extends JdbcDaoSupport implements IBookDAO{
    public List<Book> findAll() {
        String sql="select * from book";
        List<Book> list=this.getJdbcTemplate().query(sql, new RowMapper<Book>() {

            public Book mapRow(ResultSet rs, int i) throws SQLException {
                Book book=new Book();
                book.setBookid(rs.getInt("Id"));
                book.setBookname(rs.getString("Name"));
                book.setBookprice(rs.getInt("Price"));
                return book;
            }
        });

        return list;
    }
}

2.3service层

2.3.1IBookService 接口

public interface IBookService {
    //查询素有图书
    public List<Book> findAll();
}

2.3.2 BookServiceImpl

public class BookServiceImpl implements IBookService {

    //植入dao
    private IBookDAO dao;

    public List<Book> findAll() {
        return dao.findAll();
    }

    public IBookDAO getDao() {
        return dao;
    }

    public void setDao(IBookDAO dao) {
        this.dao = dao;
    }
}

3.jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///****
jdbc.user=root
jdbc.password=root

4.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd
">

    <!--00.识别jdbc.properties文件-->
    <context:property-placeholder location="jdbc.properties"></context:property-placeholder>

    <!--01.建立数据源  ${} Spring 内置的一个数据源 DriverManager-->
    <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>-->

    <!--dbcp-->
    <!--<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>-->

    <!--c3p0-->
    <!--<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClassName}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>-->

    <!--druid-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

    <!--02.jdbcTemplate 配置-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!--03.dao配置-->
    <bean id="bookDao" class="cn.bdqn.spring19.dao.impl.BookDAOimpl">
        <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    </bean>

    <!--04.service   bookService-->
    <bean id="bookService" class="cn.bdqn.spring19.service.impl.BookServiceImpl">
        <property name="dao" ref="bookDao"></property>
    </bean>

</beans>

5.测试类

 // jdbctemplate
    @Test
    public void test21(){
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContextspring17.xml");
        IBookService service = (IBookService) ctx.getBean("bookService");
        List<Book> list = service.findAll();
        for (Book item:list) {
            System.out.println(item.getBookname());
        }
    }

时间: 2024-08-03 10:43:47

jdbctemplate的相关文章

继续钟爱JdbcTemplate

现在的程序员接触的最多的可能是配置文件吧.有时候觉得配置文件蛮好的.但是一旦出现了框架级的配置文集问题,没有功底是很不容易解决的.这时反而觉得配置文件很坑爹. 主要的问题还是框架毕竟封装了太多东西. mybatis相对于hibernate封装的比较少所以我喜欢他. JdbcTemplate基于spring,无需配置文件,操作起来很是顺手,也很简单.配置上出神入化的sql后真可谓是神器. 决定除了leslie外,再钟爱一个她,JdbcTemplate. JdbcTemplate 采用基于RowMa

JDBCTemplate在AutoCommit为True时手动控制事务

这是工作中遇到的一个真实问题的处理过程,如果对分析过程不感兴趣,可以直接跳到最后看最终方案. 我们在持久化这一层,并没有用任何的ORM框架(无论是Hibernate还是MyBatis,亦或是DBUtils),而是采用了在JDBCTemplate基础上进行了简单的包装,同时我们也决定将AutoCommit设置为True,在sql语句执行完成后立即提交.这样做相比于@Transactional注解或者通过AOP来控制事务性能更好,也更方便. 在评估了优劣之后,便开始使用这种方式,随之我们也遇到了一个

spring JdbcTemplate批量插入以及单个插入时获取id

1. 批量更新插入 jdbcTemplate.batchUpdate(String sql, List<Object[]> batchArgs) Object[]数组的长度为每条记录的参数个数(也就是sql语句中"?"的个数) List: 总共插入多少条记录. /** * 批量插入订单详情 * */ public void addBatch(List<OrderDetail> orderDetails) { List<Object[]> params

JdbcTemplate模板使用

1.添加模板的配置文件 在spring的配置文件中加入如下代码 <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate"> <property name="dataSource" ref="dataSource"/></bean> 注意:ref 中的 dataSource 是可变的,与连接数据库的资源

【4.0】jdbcTemplate

1.什么是jdbcTemplate? 2.使用jdbcTemplate 3.crud操作  参考博文:http://blog.csdn.net/u014800380/article/details/64125653 4.采用配置文件的方式使用jdbcTemplate  参考博文:http://suyanzhu.blog.51cto.com/8050189/1563219/ 参考博文原文: 一.创建spring项目    项目名称:spring101302二.在项目上添加jar包    1.在项目

Spring数据访问之JdbcTemplate

Spring数据访问之JdbcTemplate 使用JdbcTemplate的基本操作步骤 1.引jar包 项目的基本架构 这里重点看实现类的内容 1 package cn.hmy.dao.impl; 2 3 4 import java.util.List; 5 6 import org.springframework.jdbc.core.support.JdbcDaoSupport; 7 8 import cn.hmy.beans.Emp; 9 import cn.hmy.dao.IEmpDa

spring之jdbcTemplate实例

如果我们不使用spring或使用spring但不使用spring的jdbcTemplate模板的时候我们要取得一个数据库的连接以及关闭要经过如下几步: 1.使用Java反射加载驱动 2.通过DriverManager 的getConnection() 方法获取Connection对象 3.获取Statement    或PrepareStatement 4. 调用Statement  或PrepareStatement的方法进行数据ddl  dcl  dml 操作 5.获取结果 6.释放资源 7

[原创]Spring JdbcTemplate 使用总结与经验分享

引言 近期开发的几个项目,均是基于Spring boot框架的web后端项目,使用JdbcTemplate执行数据库操作,实际开发过程中,掌握了一些有效的开发经验,踩过一些坑,在此做个记录及总结,与各位读者分享. 欢迎留言与我交流. 正确使用JdbcTemplate执行数据库操作 1.Bean声明 新增类型DatabaseConfiguration,添加注解@Configuration 该类型用于DataSource及JdbcTempate Bean的声明 基础代码如下 @Configurati

java中使用jdbcTemplate的query方法举例与总结

在java中使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法 1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() //查询数据记录的条数,返回一个int(数据范围较小)或者一个Long(数据范围较大)类型 String todayCountTopicsSql="SELECT count(*) FROM mcp_forum_post"; Integer todayCount=jdbcTemp

spring中的jdbcTemplate

spring核心配置文件中的内容 <!-- 注入dataSource --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"><