日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring 框架的JDBC模板技术

發布時間:2023/12/10 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 框架的JDBC模板技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 概述

  • Spring 框架提供了很多持久層的模板類來簡化編程;
  • Spring 框架提供的JDBC模板類: JdbcTemplate 類;
  • Spring 框架提供的整合 Hibernate 框架的模板類: HibernateTemplate 類

2. 環境搭建

2.1 創建數據庫表結構

CREATE TABLE t_account(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),money DOUBLE );

2.2 導入 jar 包

  • Spring 框架的基本開發包(6個);
  • Spring 的傳統AOP的開發包
    • spring-aop-4.3.10.RELEASE
    • org.aopalliance-1.10.0 (在 Spring 依賴包中)
  • aspectJ 的開發包
    • org.aspectj.weave-1.6.8.RELEASE.jar (在 Spring 依賴包中)
    • spring-aspects-4.3.10.RELEASE.jar
  • JDBC 模板所需 jar 包
    • mysql-connector-java.jar: MySql 驅動包;
    • Spring-jdbc.jar;
    • Spring-tx.jar: Spring 事務包;

2.3 編寫測試代碼

// 第一種方式: 采用 new 對象的方式完成 @Test public void fun(){// 使用 Spring 內置的連接池,創建連接池DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/mydb2");dataSource.setUsername("root");dataSource.setPassword("root");// 創建模板類JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);// 完成數據添加JdbcTemplate.update("INSERT INTO t_account VALUES(null,?,?)","張三",1000); }// 第二種方式: 采用 IOC 的方式 // applicationContext.xml 配置<!-- 配置連接池 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mydb2"/><property name="username" value="root"/><property name="password" value="root"/> </beaen><!-- 配置 JDBC 的模板類 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/> </bean>// 測試類@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext.xml")public class Demo2{@Resource(name="jdbcTemplate")private JdbcTemplate jdbcTemplate;@Testpublic void fun(){// update(String sql, Object...params); 可以完成增刪改操作jdbcTemplate.update("INSERT INTO t_account VALUES(null,?,?)","張三",1000);}@Testpublic void fun2(){// 查詢// 第一種方式: 通過主鍵查詢一條記錄// queryForObject(String sql, RowMapper<T> rowMapper, Object... params)Account ac = jdbcTemplate.queryForObject("SELECT * FROM t_account WHERE id=?",new BeanMapper(),1);}@Testpublic void fun3(){// 查詢// 第二種方式: 查詢所有// query(String sql, RowMapper<T> rowMapper, Object... params)List<Account> ac = jdbcTemplate.query("SELECT * FROM t_account",new BeanMapper());}}// 自己手動的來封裝數據(一行一行的封裝)public class BeanMapper implements RowMapper<Account>{public Account mapRow(ResultSet rs, int rowNum) throws SQLException{Account ac = new Account();ac.setId(rs.getInt("id"));ac.setName(rs.getString("name"));ac.setMoney(rs.getDouble("money"));return ac;}}// javaBean 用于封裝查詢到的結果 public class Account{private Integer id;private String name;private Double money;get 和 set 方法... }

3. Spring 框架管理開源的連接池

3.1 管理 DBCP 連接池

  • 引入 DBCP 的 jar 包
    • org.apache.commong.dbcp-1.2.2.osgi.jar
    • org.apache.commons.pool-1.5.3.jar
  • 編寫配置文件
  • <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mydb2"/><property name="username" value="root"/><property name="password" value="root"/> </bean>

    3.2 管理 C3P0 連接池

  • 引入 c3p0 的 jar包
    • com.mchange.v2.c3p0-0.9.1.2.jar
  • 編寫配置文件
  • <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mydb2"/><property name="user" value="root"/><property namem="password" value="root"/> </bean>


    參考資料

    • Spring 入門視頻

    轉載于:https://www.cnblogs.com/linkworld/p/7722598.html

    總結

    以上是生活随笔為你收集整理的Spring 框架的JDBC模板技术的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。