spring的幾個重要類和接口(詳解)
1、 datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的
datasource接口有個重要的方法getConnection()方法
Connection getConnection(String username, String password) throws SQLException;
那些spring支持的數(shù)據(jù)庫連接池,都是實現(xiàn)了Datasource接口
比如下面是阿里的DruidDatasource數(shù)據(jù)庫連接池源碼,它就是實現(xiàn)了datasource的getConnection()方法
只要是實現(xiàn)了這個方法的類,就都可以當(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ù)庫,自己去執(zhí)行sql語句,不用mybatis或者h(yuǎn)ibernate。
就用spring自己的jdbcTemplate就行啊,只不過沒有了orm匹配而已啊
4、 如果要用mybatis、hibernate它們?nèi)ミB接數(shù)據(jù)庫的話,就要用它們的類似jdbcTemplate了啊,比如mybatis的sqlsessionTemplate。
5、 所以spring中,去操控數(shù)據(jù)庫的話就分為三步驟:1.連數(shù)據(jù)庫,datasource 2.找個利器去操控sql語言,jdbcTemplate或者sqlsessionfactory 3.將利器注入到spring ioc容器中
6、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
7、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
8、1.spring整合mybatis 的核心是 SqlSessionFactoryBean、MapperFactoryBean(單一接口)
以上這篇spring的幾個重要類和接口(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring利用squertz實現(xiàn)定時任務(wù)
spring squertz是一個強(qiáng)大的定時任務(wù)處理方式。下面這篇文章主要介紹了spring利用squertz實現(xiàn)定時任務(wù)的相關(guān)資料,文中介紹的很詳細(xì),對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。2017-01-01SpringBoot啟動流程入口參數(shù)創(chuàng)建對象源碼分析
這篇文章主要為大家介紹了SpringBoot啟動流程入口參數(shù)研究及創(chuàng)建對象源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04RabbitMQ的消息確認(rèn)機(jī)制的詳細(xì)總結(jié)
RabbitMQ消息確認(rèn)機(jī)制指的是在消息傳遞過程中,發(fā)送方發(fā)送消息后,接收方需要對消息進(jìn)行確認(rèn),以確保消息被正確地接收和處理,本文就講給大家詳解介紹RabbitMQ的幾種消息確認(rèn)機(jī)制,需要的朋友可以參考下2023-07-07MyBatis-Plus 與Druid 數(shù)據(jù)源操作
SpringBoot框架集成MyBatis-Plus和Druid數(shù)據(jù)源,簡化了數(shù)據(jù)操作與監(jiān)控,MyBatis-Plus作為MyBatis的增強(qiáng)工具,自動實現(xiàn)CRUD操作,減少手寫SQL,提供分頁、邏輯刪除等功能,本文介紹MyBatis-Plus & Druid 數(shù)據(jù)源總結(jié),感興趣的朋友一起看看吧2024-09-09spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代碼詳解
這篇文章主要介紹了spring boot-2.1.16整合swagger-2.9.2 含yml配置文件,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08MyBatis的@SelectProvider注解構(gòu)建動態(tài)SQL方式
這篇文章主要介紹了MyBatis的@SelectProvider注解構(gòu)建動態(tài)SQL方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08response.setContentType()參數(shù)以及作用詳解
這篇文章主要介紹了response.setContentType()參數(shù)以及作用詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08