spring的幾個(gè)重要類(lèi)和接口(詳解)
1、 datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的
datasource接口有個(gè)重要的方法getConnection()方法
Connection getConnection(String username, String password) throws SQLException;
那些spring支持的數(shù)據(jù)庫(kù)連接池,都是實(shí)現(xiàn)了Datasource接口
比如下面是阿里的DruidDatasource數(shù)據(jù)庫(kù)連接池源碼,它就是實(shí)現(xiàn)了datasource的getConnection()方法
只要是實(shí)現(xiàn)了這個(gè)方法的類(lèi),就都可以當(dāng)spring的datasource
@Override
public DruidPooledConnection getConnection() throws SQLException {
return getConnection(maxWait);
}
public DruidPooledConnection getConnection(long maxWaitMillis) throws SQLException {
init();
if (filters.size() > 0) {
FilterChainImpl filterChain = new FilterChainImpl(this);
return filterChain.dataSource_connect(this, maxWaitMillis);
} else {
return getConnectionDirect(maxWaitMillis);
}
}
2、 jdbcTemplate才是spring的利器,在springframework.jdbc包下
3、 所以spring如果想的話,也可以自己去連接數(shù)據(jù)庫(kù),自己去執(zhí)行sql語(yǔ)句,不用mybatis或者h(yuǎn)ibernate。
就用spring自己的jdbcTemplate就行啊,只不過(guò)沒(méi)有了orm匹配而已啊
4、 如果要用mybatis、hibernate它們?nèi)ミB接數(shù)據(jù)庫(kù)的話,就要用它們的類(lèi)似jdbcTemplate了啊,比如mybatis的sqlsessionTemplate。
5、 所以spring中,去操控?cái)?shù)據(jù)庫(kù)的話就分為三步驟:1.連數(shù)據(jù)庫(kù),datasource 2.找個(gè)利器去操控sql語(yǔ)言,jdbcTemplate或者sqlsessionfactory 3.將利器注入到spring ioc容器中
6、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
7、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
8、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
以上這篇spring的幾個(gè)重要類(lèi)和接口(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決mybatis-plus動(dòng)態(tài)數(shù)據(jù)源切換不生效的問(wèn)題
本文主要介紹了解決mybatis-plus動(dòng)態(tài)數(shù)據(jù)源切換不生效的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Spring Boot 2.0.0 終于正式發(fā)布-重大修訂版本
北京時(shí)間 2018 年 3 月 1 日早上,如約發(fā)布的 Spring Boot 2.0 在同步至 Maven 倉(cāng)庫(kù)時(shí)出現(xiàn)問(wèn)題,導(dǎo)致在 GitHub 上發(fā)布的 v2.0.0.RELEASE 被撤回2018-03-03
Java中批處理框架spring batch詳細(xì)介紹
這篇文章主要介紹了Java中批處理框架spring batch詳細(xì)介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
JdbcTemplate操作數(shù)據(jù)庫(kù)的具體方法
這篇文章主要介紹了JdbcTemplate操作數(shù)據(jù)庫(kù)的具體操作方法,準(zhǔn)備工作需要大家先導(dǎo)入相關(guān)的jar包,建個(gè)數(shù)據(jù)庫(kù),具體操作方法跟隨小編一起看看吧2022-03-03
JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Java JVM字節(jié)碼指令集總結(jié)整理與介紹
本節(jié)將會(huì)著重介紹一下JVM中的指令集、Java是如何跨平臺(tái)的、JVM指令集參考手冊(cè)等內(nèi)容。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

