中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-10 09:37:30 來源:腳本之家 閱讀:104 作者:jimisun 欄目:編程語言

什么是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);
 }

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 喀什市| 大港区| 汕头市| 涟水县| 水城县| 青阳县| 花莲市| 亳州市| 沭阳县| 丰城市| 蓬莱市| 丹凤县| 镇原县| 榆林市| 九寨沟县| 行唐县| 双鸭山市| 高阳县| 墨江| 内江市| 龙山县| 昭平县| 广元市| 赫章县| 太和县| 沁源县| 当雄县| 荆门市| 福海县| 天等县| 吴忠市| 莲花县| 台江县| 唐山市| 龙泉市| 晴隆县| 蒲城县| 娄烦县| 将乐县| 高唐县|