Spring整合MyBaits框架

        单独使用MyBaits步骤:创建SqlSessionFactory类,调用openSession方法创建出SqlSession会话对象出会话窗口

public class MyBatis {
    //建造一个工厂
    static SqlSessionFactory sessionFactory;
    static {//获得配置文件
        String r="com/tlm/config/mybatis-config.xml";
        InputStream inputStream=null;
        try {
             inputStream= Resources.getResourceAsStream( r );
             sessionFactory=new SqlSessionFactoryBuilder().build( inputStream );
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    //创建SqlSession会话对象
    public static SqlSession getSqlSession(){
        return sessionFactory.openSession();
    }
}

        利用会话窗口结合反射的动态代理模式实现接口的动态代理对象,结合接口与映射文件完成持久层结构

public List<Student> getStudents() {
        List<Student> list=null;
        //得到Sqlsession
        SqlSession sqlSession= MyBatis.getSqlSession();
        try {//   反射的动态机制  给出一个代理接口对象
           StudentDao studentDao=sqlSession.getMapper( StudentDao.class );
           list=studentDao.getStudents();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            sqlSession.close();
        }
        return list;
  }

        整合使用,步骤:

1.导入相关jar包;

2.在Spring框架中配置MyBatis :

        重点:整合框架用到的对象不是SqlSessionFactory而是用到SqlSessionFactoryBean

<!-- 步骤一:加载数据文件 自己配置的properties文件-->
	<bean id="propertyPlaceholderConfigurer"
		  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:config/jdbc.properties"/>
	</bean>
	<!-- 步骤二:加载dbcp连接池 -->
	<bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${driver}"/>
		<property name="url" value="${url}"/>
		<property name="username" value="${username}"/>
		<property name="password" value="${password}"/>
		<!-- 配置连接池信息 (一般可以不配,默认就够) -->
		<!-- 连接池的属性配置:初始连接数,最大连接数,最大空闲数,最小空闲数,最大空闲时间 -->
		<property name="initialSize" value="${initialSize}"/>
		<property name="maxActive" value="${maxActive}"/>
		<property name="maxIdle" value="${maxIdle}"/>
		<property name="minIdle" value="${minIdle}"/>
		<property name="maxWait" value="${maxWait}"/>
	</bean>
	<!-- 步骤三:将连接池配置MyBatis使用环境 SqlSessionBean-->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 加载MyBatis资源   引用资源为ref-->
		<property name="dataSource" ref="basicDataSource"/>
		<!-- 配置MyBatis环境 (非必须) -->
		<property name="configLocation" value="classpath:config/mybatis-config.xml"/>
		<!-- 配置加载实体类 将对像存储在IOC容器中 -->
		<property name="typeAliasesPackage" value="com.tlm.entity"/>
		<!-- 配置映射文件 -->
		<property name="mapperLocations" value="classpath*:com/tlm/dao/mapper/*.xml"/>
	</bean>
	<!-- 步骤四:使用映射将dao层接口进行动态实例化并把对象存储在容器当中  -->
	<!--  -->
	<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 扫描接口并实例化对象 -->
		<property name="basePackage" value="com.tlm.dao"/>
	</bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值