myBatis学习笔记

配置文件SqlMapConfig.xml

?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!-- 和spring整合后 environments配置将废除-->
    <environments default="development">
        <environment id="development">
            <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
            <transactionManager type="JDBC" />
            <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
            <!-- POOLED 表示支持JDBC数据源连接池 -->
            <!-- UNPOOLED 表示不支持数据源连接池 -->
            <!-- JNDI 表示支持外部数据源连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/ssm" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        
        </environment>
    </environments>
    <mappers>
        <mapper resource="***.xml"/>
     <!-- 也可使用package来导入一个包 -->
</mappers> </configuration>

测试

        // 加载配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        // 创建SqlSessuibFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        // 通过会话工厂创建会话
        SqlSession session = factory.openSession();
        //获取代理对象
        AccountDao dao = session.getMapper(AccountDao.class);
        

 spring整合myBatis,上面的SqlMapConfig.xml可以删掉

    <!-- spring整合myBatis框架 -->
    <!-- 配置连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm"/>
        <property name="user" value="root"/>
        <property name="password" value="root"/>
    </bean>
    
    <!-- 配置sqlSessionFactory工厂 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" value="dataSource"/>
    </bean>
    
    <!-- 配置所在的包 -->
    <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigure">
        <property name="basePackage" value="cn.it.dao"/>
    </bean>

 <!-- 配置spring框架声明式事务 -->
 <!-- 配置事务管理器 -->
 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"/>
 </bean>
 <!-- 配置事务通知 -->
 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <tx:method name="find*" read-only="true"/>
   <tx:method name="*" isolation="DEFAULT"/>
  </tx:attributes>
 </tx:advice>
 <!-- 配置AOP增强 -->
 <aop:config>
  <aop:advisor advice-ref="txAdvice" pointcut="execution ()"/>
 </aop:config>

 Mapper.xml的配置模板

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "mybatis-3-mapper.dtd">
<mapper namespace="com.lin.springboot01.Dao.shopDao">
    <resultMap id="shopMapper" type="com.lin.springboot01.Domain.shop">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="date" column="date"/>
    </resultMap>

    <select id="findInfo" resultMap="shopMapper">
        select * from shop_info
    </select>
</mapper>
posted @ 2019-10-15 10:01  linyaoguo  阅读(119)  评论(0编辑  收藏  举报