連接池和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()  查詢多條數據,將數據封裝成自定義對象   例:jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),user.getName(),user.getPassword()); sql:查詢語句  User:自定義類

    (6):execute()      可以執行任何語句,一般用於執行DDL語句


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM