關(guān)于Spring項目對JDBC的支持與基本使用詳解
什么是JDBC:
- JDBC全稱Java Database Connectivity
- JDBC可以通過載入不同的數(shù)據(jù)庫的“驅(qū)動程序”而與不同的數(shù)據(jù)庫進行連接。
JDBC的優(yōu)點:
- 使用的驅(qū)動不同,即可連接不同的數(shù)據(jù)庫。
- 使用同一套操作來操作不同的數(shù)據(jù)庫
- 如果每一個數(shù)據(jù)庫java都制訂一套連接方式,那么當(dāng)不同的數(shù)據(jù)庫更新的時候,java也需要更新自己的代碼,而使用jdbc,使用同一套代碼來操作,使用不同的驅(qū)動程序(驅(qū)動程序由數(shù)據(jù)庫廠商提供)來連接,這使得可以連接不同的數(shù)據(jù)庫。
Spring對數(shù)據(jù)訪問提供的支持
- 提供于平臺無關(guān)的的持久化異常體系
- 提供模板簡化數(shù)據(jù)持久化開發(fā)
提供于平臺無關(guān)的的持久化異常體系
Spring對JDBC的SQLException進行封裝,你不需要做什么;只需要將SpringJDBC的Jar包導(dǎo)入即可,這樣你就可以在Spring所支持的數(shù)據(jù)訪問模板中享受到這些異常^~~^
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.1.RELEASE</version> </dependency>
提供模板簡化數(shù)據(jù)持久化開發(fā)
針對不同的持久化平臺,Spring提供了多個可選則使用的模板,常用的模板類如下
模板類 | 用途 |
---|---|
jdbc.core.JdbcTemplate | JDBC的鏈接 |
orm.jdo.JdoTemplate | Java數(shù)據(jù)對象實現(xiàn) |
orm.jpa.JpaTemplate | Java持久化API的實體管理器 |
orm.ibatis.SqlMapClientTemplate | IBATIS SqlMap客戶端 |
orm.hibernate3.HibernateTemplate | Hibernate3.x以上的Session |
裝配數(shù)據(jù)源
無論你使用哪一種模板類,你都需要配置一個數(shù)據(jù)源的引用,Spring提供了在Spring上下文中配置數(shù)據(jù)源Bean的多種方式
- 通過JDBC驅(qū)動程序定義的數(shù)據(jù)源
- 通過JNDI查找數(shù)據(jù)源
- 連接池的數(shù)據(jù)源
具體詳細(xì)的數(shù)據(jù)源裝配,我會另開一篇進行解析介紹,在本篇案例中使用的是阿里巴巴的druid連接池,使用過程如下
加載依賴
<!-- 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模板類
@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); }
本章完整代碼地址:完整項目下載地址點擊此處
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
SpringBoot JWT接口驗證實現(xiàn)流程詳細(xì)介紹
這篇文章主要介紹了SpringBoot+JWT實現(xiàn)接口驗證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09Java中數(shù)據(jù)轉(zhuǎn)換及字符串的“+”操作方法
本文主要介紹了Java中的數(shù)據(jù)類型轉(zhuǎn)換,包括隱式轉(zhuǎn)換和強制轉(zhuǎn)換,隱式轉(zhuǎn)換通常用于將范圍較小的數(shù)據(jù)類型轉(zhuǎn)換為范圍較大的數(shù)據(jù)類型,而強制轉(zhuǎn)換則是將范圍較大的數(shù)據(jù)類型轉(zhuǎn)換為范圍較小的數(shù)據(jù)類型,本文介紹Java中數(shù)據(jù)轉(zhuǎn)換以及字符串的“+”操作,感興趣的朋友一起看看吧2024-10-10spring+maven實現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了spring+maven實現(xiàn)發(fā)送郵件功能,利用spring提供的郵件工具來發(fā)送郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07java 裝飾模式(Decorator Pattern)詳解及實例代碼
裝飾器模式(Decorator Pattern)允許向一個現(xiàn)有的對象添加新的功能,同時又不改變其結(jié)構(gòu)。這種類型的設(shè)計模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個包裝2016-10-10Java實現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件
這篇文章主要介紹了Java實現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件 的相關(guān)資料,需要的朋友可以參考下2016-03-03easycode配置成mybatis-plus模板的實現(xiàn)方法
本文主要介紹了easycode配置成mybatis-plus模板的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09