Spring框架整合Mybatis

思路分析(适用于整合所有框架)

  1. 引入相关依赖
    spring mybatis mysql mybatis-spring。。。
  2. 如何整合
    Spring 主要是用来负责项目中组件对象的创建,使用,销毁,是一个项目管理框架;
    mybatis 主要是用来简化原有的jdbc技术,进行数据库访问操作,是一个持久层的框架;
    整合思路:通过spring去接管mybatis中核心对象的创建。
  3. mybatis中的核心对象是什么
    sqlSessionFactoryBuilder
    sqlSessionFactory mybatis中的核心对象 读取Mybatis-Config.xml[数据源的配置,mapper的配置]
    sqlSession
    dao
  4. SM整合
    通过spring框架接管sqlSessionFactory对象的创建;
    a).简单对象?还是复杂对象
    接口类型的复杂对象
    b).如何创建
    	public class SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory> {
        private String configLocation;
    
        public void setConfigLocation(String configLocation) {
            this.configLocation = configLocation;
        }
    
        public SqlSessionFactory getObject() throws Exception {
            InputStream is = Resources.getResourceAsStream(configLocation);
            SqlSessionFactory build = new SqlSessionFactoryBuilder().build(is);
            return build;
        }
    
        public Class<?> getObjectType() {
            return SqlSessionFactory.class;
        }
    
        public boolean isSingleton() {
            return true;
        }
    
    	 ```
    
  5. mybatis官方提供了mybatis-spring的jar包,可以封装上述代码
    注;使用官方jar包就不再支持config.xml配置文件,需要在bean中配置
    需要引入druid依赖
	<bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/mysql"/>
        <property name="username" value="root"/>
        <property name="password" value="wuhaotian"/>
    </bean>
    <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<!--            依赖数据源对象-->
        <property name="dataSource" ref="dataSource">
<!--            依赖mapper对象-->

        </property>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值