1、 datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的
datasource接口有個重要的方法getConnection()方法
1
2
|
Connection getConnection(String username, String password) throws SQLException; |
那些spring支持的數(shù)據(jù)庫連接池,都是實現(xiàn)了Datasource接口
比如下面是阿里的DruidDatasource數(shù)據(jù)庫連接池源碼,它就是實現(xiàn)了datasource的getConnection()方法
只要是實現(xiàn)了這個方法的類,就都可以當spring的datasource
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@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或者hibernate。
就用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)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。