Spring框架之JdbcTemplate的引入和应用(四)

JdbcTemplate简介

JdbcTemplate类似DBUtils,用于操作jdbc的工具类,它需要依赖于连接池DataSource(数据源)。

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API ODBC(Open Database Connectivity)开放数据库连接,是微软公司提供的一组对数据库访问的标准API。

DBCP(DataBase Connection pool)数据库连接池,是java数据库连接池的一种,由Aspect开发。

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展,目前使用它的开源项目由Hibernate、Spring等。

C3P0于DBCP的区别

C3P0有自动回收空闲连接功能
DBCP没有自动回收空闲连接功能

常规操作,因为之前有篇关于JdbcTemplate的文章,如果读者对JdbcTemplate不是很了解,可以先看那篇文章。JDBC进阶-数据库连接池技术以及jdbcTemplate

配置DBCD

数据源不由自己创建,由Spring创建


        
        
        
        



        

    

        

配置C3P0

        
        
        
        



     



     

使用JdbcDaoSupport
public class UserDao1Impl extends JdbcDaoSupport implements IUserDao {

    @Override
    public void save(User user) {
        String sql = "insert into t_user(username,password,age,sex) values (?,?,?,?)";
        Object[] args = new Object[]{user.getUsername(),user.getPassword(),user.getAge(),user.getSex()};
        this.getJdbcTemplate().update(sql,args);
    }

    @Override
    public void update(User user) {
        String sql = "insert into t_user(username,password,age,sex) values (?,?,?,?)";
        Object[] args = new Object[]{user.getUsername(),user.getPassword(),user.getAge(),user.getSex()};
        this.getJdbcTemplate().update(sql,args);
    }

    @Override
    public void delete(String username) {
        String sql = "delete t_user where username=?";
        this.getJdbcTemplate().execute(sql);
    }
}

数据库连接Properties的配置

src目录下创建db.properties文件

driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/hibernate_day03?characterEncoding=UTF-8
user=root
password=123456

beans.xml文件配置 关键是下面第一行代码,找到路径并把数据赋值给dataSource



    
    
    
    

你可能感兴趣的:(Spring框架之JdbcTemplate的引入和应用(四))