连接池和JDBCTemplate

一:什么是连接池?使用连接池的好处是什么?

  连接池就是一个存放数据库连接对象的容器。当系统初始化后,就会向数据库申请一些连接对象存放到容器里,用的时候直接从容器里取,用完后放回连接池。

  连接池可以提高数据库访问效率,也可以节约资源。

二:java中提供了一个接口叫DataSource,他提供了连接池规范。开发者一般使用第三方的类库实现这个接口。C3P0 和 Druid(由阿里巴巴提供);

三:C3P0的具体使用:

  1. 导入jar包 c3p0-0.9.5.2.jar 和 mchange-commons-java-0.2.12.jar 

  注意:不要了数据库驱动jar包


  2. 定义配置文件
  名称:c3p0.properties or c3p0-config.xml
  路径:直接将配置放到src目录下即可

  3:DataSource dataSource = new ComboPooledDataSource();    //创建连接池

     Connection conn = dataSource.getConnection();      //创建连接对象

四:Druid的使用:

  1:导入druid所需的包和数据库驱动包

  2:定义配置文件,放在src目录下

  Properties pro = new Properties();       //创建配置文件对象

  InputStream is = Demo03.class.getClassLoader().getResourceAsStream("druid.properties");   //读到定义的配置文件
  pro.load(is);  //将配置文件加载到配置文件对象中
  DataSource ds = DruidDataSourceFactory.createDataSource(pro); //获取连接池‘

  Connection conn = ds.getConnection();      //获取连接对象

五:JDBCTemplate :JDBCTemplate是以Spring在JDBCAPI上定义的抽象层建立的JDBC存取框架,有了它可以更方便的操作数据库,增删查改操作更方便。

  1:创建JDBCTemplate:

    JDBCTemplate jdbc = new JDBCTemplate(DataSource data)   //传入一个连接池对象

  2:常用方法:所有方法都传入查询字符串

    (1):uddate()    执行增删改操作

    (2):queryForMap()    查询单条数据使用,返回map集合。

    (3):queryForList()    查询多条数据使用,返回  List<Map<String,Object>>

    (4):query()      查询单条数据,将数据封装成自定义对象

    (5):queryForObject()  查询多条数据,将数据封装成自定义对象

    (6):execute()      可以执行任何语句,一般用于执行DDL语句

猜你喜欢

转载自www.cnblogs.com/lihui001/p/12068297.html
今日推荐