欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Spring項(xiàng)目對(duì)JDBC的支持與基本使用詳解

 更新時(shí)間:2018年11月06日 10:55:36   作者:jimisun  
這段時(shí)間一直在觀(guān)看Spring框架,所以下面這篇文章主要給大家介紹了關(guān)于Spring項(xiàng)目對(duì)JDBC的支持與基本使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

什么是JDBC:

  • JDBC全稱(chēng)Java Database Connectivity
  • JDBC可以通過(guò)載入不同的數(shù)據(jù)庫(kù)的“驅(qū)動(dòng)程序”而與不同的數(shù)據(jù)庫(kù)進(jìn)行連接。

JDBC的優(yōu)點(diǎn):

  • 使用的驅(qū)動(dòng)不同,即可連接不同的數(shù)據(jù)庫(kù)。
  • 使用同一套操作來(lái)操作不同的數(shù)據(jù)庫(kù)
  • 如果每一個(gè)數(shù)據(jù)庫(kù)java都制訂一套連接方式,那么當(dāng)不同的數(shù)據(jù)庫(kù)更新的時(shí)候,java也需要更新自己的代碼,而使用jdbc,使用同一套代碼來(lái)操作,使用不同的驅(qū)動(dòng)程序(驅(qū)動(dòng)程序由數(shù)據(jù)庫(kù)廠(chǎng)商提供)來(lái)連接,這使得可以連接不同的數(shù)據(jù)庫(kù)。

Spring對(duì)數(shù)據(jù)訪(fǎng)問(wèn)提供的支持

  • 提供于平臺(tái)無(wú)關(guān)的的持久化異常體系
  • 提供模板簡(jiǎn)化數(shù)據(jù)持久化開(kāi)發(fā)

提供于平臺(tái)無(wú)關(guān)的的持久化異常體系

Spring對(duì)JDBC的SQLException進(jìn)行封裝,你不需要做什么;只需要將SpringJDBC的Jar包導(dǎo)入即可,這樣你就可以在Spring所支持的數(shù)據(jù)訪(fǎng)問(wèn)模板中享受到這些異常^~~^

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

提供模板簡(jiǎn)化數(shù)據(jù)持久化開(kāi)發(fā)

針對(duì)不同的持久化平臺(tái),Spring提供了多個(gè)可選則使用的模板,常用的模板類(lèi)如下

模板類(lèi) 用途
jdbc.core.JdbcTemplate JDBC的鏈接
orm.jdo.JdoTemplate Java數(shù)據(jù)對(duì)象實(shí)現(xiàn)
orm.jpa.JpaTemplate Java持久化API的實(shí)體管理器
orm.ibatis.SqlMapClientTemplate IBATIS SqlMap客戶(hù)端
orm.hibernate3.HibernateTemplate Hibernate3.x以上的Session

裝配數(shù)據(jù)源

無(wú)論你使用哪一種模板類(lèi),你都需要配置一個(gè)數(shù)據(jù)源的引用,Spring提供了在Spring上下文中配置數(shù)據(jù)源Bean的多種方式

  • 通過(guò)JDBC驅(qū)動(dòng)程序定義的數(shù)據(jù)源
  • 通過(guò)JNDI查找數(shù)據(jù)源
  • 連接池的數(shù)據(jù)源

具體詳細(xì)的數(shù)據(jù)源裝配,我會(huì)另開(kāi)一篇進(jìn)行解析介紹,在本篇案例中使用的是阿里巴巴的druid連接池,使用過(guò)程如下

加載依賴(lài)

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

配置數(shù)據(jù)源

 @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模板類(lèi)

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

Dao層相關(guān)代碼

 @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);
 }

本章完整代碼地址:完整項(xiàng)目下載地址點(diǎn)擊此處

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • SpringBoot JWT接口驗(yàn)證實(shí)現(xiàn)流程詳細(xì)介紹

    SpringBoot JWT接口驗(yàn)證實(shí)現(xiàn)流程詳細(xì)介紹

    這篇文章主要介紹了SpringBoot+JWT實(shí)現(xiàn)接口驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • MyBatis分頁(yè)的四種方式

    MyBatis分頁(yè)的四種方式

    分頁(yè)查詢(xún)是非常常見(jiàn)的需求,本文主要介紹了MyBatis分頁(yè)的四種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Java 命名規(guī)范(非常全面)

    Java 命名規(guī)范(非常全面)

    在本文中,將從大到小,從外到內(nèi),總結(jié)Java編程中的命名規(guī)范。文中將會(huì)涉及到日常工作中常見(jiàn)的命名示例,如包命名,類(lèi)命名,接口命名,方法命名,變量命名,常類(lèi)命名,抽象類(lèi)命名,異常類(lèi)命名以及擴(kuò)展類(lèi)命名等。
    2021-09-09
  • Java異常ClassCastException的解決

    Java異常ClassCastException的解決

    這篇文章主要介紹了Java異常ClassCastException的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java中數(shù)據(jù)轉(zhuǎn)換及字符串的“+”操作方法

    Java中數(shù)據(jù)轉(zhuǎn)換及字符串的“+”操作方法

    本文主要介紹了Java中的數(shù)據(jù)類(lèi)型轉(zhuǎn)換,包括隱式轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換,隱式轉(zhuǎn)換通常用于將范圍較小的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為范圍較大的數(shù)據(jù)類(lèi)型,而強(qiáng)制轉(zhuǎn)換則是將范圍較大的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為范圍較小的數(shù)據(jù)類(lèi)型,本文介紹Java中數(shù)據(jù)轉(zhuǎn)換以及字符串的“+”操作,感興趣的朋友一起看看吧
    2024-10-10
  • spring+maven實(shí)現(xiàn)發(fā)送郵件功能

    spring+maven實(shí)現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了spring+maven實(shí)現(xiàn)發(fā)送郵件功能,利用spring提供的郵件工具來(lái)發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • java 裝飾模式(Decorator Pattern)詳解及實(shí)例代碼

    java 裝飾模式(Decorator Pattern)詳解及實(shí)例代碼

    裝飾器模式(Decorator Pattern)允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類(lèi)的一個(gè)包裝
    2016-10-10
  • 值得收藏的2017年Java開(kāi)發(fā)崗位面試題

    值得收藏的2017年Java開(kāi)發(fā)崗位面試題

    這篇文章主要為大家推薦一份值得收藏的2017年Java開(kāi)發(fā)崗位面試題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫(kù)的sql文件

    Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫(kù)的sql文件

    這篇文章主要介紹了Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫(kù)的sql文件 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • easycode配置成mybatis-plus模板的實(shí)現(xiàn)方法

    easycode配置成mybatis-plus模板的實(shí)現(xiàn)方法

    本文主要介紹了easycode配置成mybatis-plus模板的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論