国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

關于Spring項目對JDBC的支持與基本使用詳解

2024-07-14 08:42:45
字體:
來源:轉載
供稿:網友

什么是JDBC:

  • JDBC全稱Java Database Connectivity
  • JDBC可以通過載入不同的數據庫的“驅動程序”而與不同的數據庫進行連接。

JDBC的優點:

  • 使用的驅動不同,即可連接不同的數據庫。
  • 使用同一套操作來操作不同的數據庫
  • 如果每一個數據庫java都制訂一套連接方式,那么當不同的數據庫更新的時候,java也需要更新自己的代碼,而使用jdbc,使用同一套代碼來操作,使用不同的驅動程序(驅動程序由數據庫廠商提供)來連接,這使得可以連接不同的數據庫。

Spring對數據訪問提供的支持

  • 提供于平臺無關的的持久化異常體系
  • 提供模板簡化數據持久化開發

提供于平臺無關的的持久化異常體系

Spring對JDBC的SQLException進行封裝,你不需要做什么;只需要將SpringJDBC的Jar包導入即可,這樣你就可以在Spring所支持的數據訪問模板中享受到這些異常^~~^

  <dependency>   <groupId>org.springframework</groupId>   <artifactId>spring-jdbc</artifactId>   <version>4.1.1.RELEASE</version>  </dependency>

提供模板簡化數據持久化開發

針對不同的持久化平臺,Spring提供了多個可選則使用的模板,常用的模板類如下

 

模板類 用途
jdbc.core.JdbcTemplate JDBC的鏈接
orm.jdo.JdoTemplate Java數據對象實現
orm.jpa.JpaTemplate Java持久化API的實體管理器
orm.ibatis.SqlMapClientTemplate IBATIS SqlMap客戶端
orm.hibernate3.HibernateTemplate Hibernate3.x以上的Session

 

裝配數據源

無論你使用哪一種模板類,你都需要配置一個數據源的引用,Spring提供了在Spring上下文中配置數據源Bean的多種方式

  • 通過JDBC驅動程序定義的數據源
  • 通過JNDI查找數據源
  • 連接池的數據源

具體詳細的數據源裝配,我會另開一篇進行解析介紹,在本篇案例中使用的是阿里巴巴的druid連接池,使用過程如下

加載依賴

  <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->  <dependency>   <groupId>com.alibaba</groupId>   <artifactId>druid</artifactId>   <version>1.1.12</version>  </dependency>

配置數據源

 @Bean public DruidDataSource dataSource() {  DruidDataSource ds = new DruidDataSource();  ds.setDriverClassName(environment.getProperty("jdbc.driver"));  ds.setUrl(environment.getProperty("jdbc.url"));  ds.setUsername(environment.getProperty("jdbc.username"));  ds.setPassword(environment.getProperty("jdbc.password"));  ds.setInitialSize(5);  return ds; }

配置JDBC模板類

 @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) {  return new JdbcTemplate(dataSource); }

Dao層相關代碼

 @Autowired private JdbcOperations jdbcOperations;  @Override public User getUser(String username) {  List<User> query = jdbcOperations.query(SELECT_USER_BY_ID, new UserRowMapper(), username);  return query.get(0); }

本章完整代碼地址:完整項目下載地址點擊此處

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盱眙县| 正蓝旗| 石门县| 乌拉特中旗| 图们市| 白城市| 板桥市| 新邵县| 江山市| 云梦县| 南充市| 杭锦旗| 宜君县| 澎湖县| 英吉沙县| 北安市| 准格尔旗| 日照市| 资溪县| 鄂温| 彭泽县| 大城县| 常山县| 阳东县| 武宁县| 伊川县| 达拉特旗| 县级市| 漾濞| 新乐市| 黔西县| 榕江县| 凯里市| 张家港市| 浦北县| 星子县| 岑巩县| 安西县| 高密市| 肇源县| 彝良县|