MyBatis的配置

本篇是关于MyBatis的配置过程

1.mybatis配置文件(mybatis-config.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"> 

<!-- 通过这个配置文件,完成MyBatis与数据库的链接 -->
<configuration>
    <!-- 引入jdbc.properties -->
    <properties resource="jdbc.properties"/>

    <!-- 配置mybatis的log实现为LOG4J-->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>

    <typeAliases>
        <!-- <typeAlias type="pojo.User" alias="User"/> -->
        <!-- 包下的别名即其类名 -->
        <package name="pojo"/>
    </typeAliases>

    <environments default="development">
        <environment id="development">
            <!-- 配置事务管理  ,采用JDBC-->
            <transactionManager type="JDBC"/>
            <!-- POOLED :MyBatis数据源,JNDI基于tomcat的数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="${driverClass}"/> 
                <property name="url" value="${url}"/> 
                <property name="username" value="${username}"/> 
                <property name="password" value="${password}"/> 
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="dao/user/UserMapper.xml"/>
        <mapper resource="dao/role/RoleMapper.xml"/>
    </mappers>

</configuration>

2.mapper文件中配置(以UserMapper.xml 为例):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<!-- namespace中填写映射的类的全限定名 -->
<mapper namespace="dao.role.RoleMapper">
   <!-- 根据需求填写select、insert等 -->
    <select id="getUserList" resultType="User">
        select * from user
    </select>
</mapper>

3.被映射的接口(以UserMapper.java为例):

public interface UserMapper {
    //接口中方法的名字要和映射配置文件中的id一致
    public List<User> getUserList();
}

4.Mybatis工具类(MyBatisUtil.java):

public class MyBatisUtil {
    private static SqlSessionFactory factory;

    static {
        //放在静态代码块下,factory只会被创建一次
        try {
   //读取mybatis配置文件,转成输入流的形式
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
   //创建符合配置文件要求的工厂
            factory = new SqlSessionFactoryBuilder().build(is);

        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

    public static SqlSession createSqlSession() {
        return factory.openSession();
    }

    public static void closeSqlSession(SqlSession sqlSession) {
        if (null != sqlSession) {
            sqlSession.close();
        }
    }
}

5.调用mapper中的功能:

public class UserDaoTestByMapper {

    private Logger logger = Logger.getLogger(UserDaoTestByMapper.class);

    @Test
    public void getUserList() {
        SqlSession sqlSession = null;
        List<User> userList = new ArrayList<User>();
        try {
            sqlSession = MyBatisUtil.createSqlSession();
            userList = sqlSession.getMapper(UserMapper.class).getUserList();
            for (User user : userList) {
                logger.debug("user==>"+user);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            MyBatisUtil.closeSqlSession(sqlSession);
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值