spring的幾個重要類和接口


1.datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的

datasource接口有個重要的方法getConnection()方法

Connection getConnection(String username, String password)
throws SQLException;

那些spring支持的數據庫連接池,都是實現了Datasource接口

比如下面是阿里的DruidDatasource數據庫連接池源碼,它就是實現了datasource的getConnection()方法

只要是實現了這個方法的類,就都可以當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如果想的話,也可以自己去連接數據庫,自己去執行sql語句,不用mybatis或者hibernate。

就用spring自己的jdbcTemplate就行啊,只不過沒有了orm匹配而已啊

 

4.如果要用mybatis、hibernate它們去連接數據庫的話,就要用它們的類似jdbcTemplate了啊,比如mybatis的sqlsessionTemplate。

 

5.所以spring中,去操控數據庫的話就分為三步驟:1.連數據庫,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(單一接口)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM