MyBatis的配置

来源:互联网 发布:易语言dnf界面源码 编辑:程序博客网 时间:2024/06/06 02:22

本篇是关于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);        }    }}
原创粉丝点击