mybatis 之 配置详解

  1. mybatis.cfg.xml
    <configuration>
        <!-- properties可读取外部的配置文件,也可直接配置属性信息 -->
        <properties resource="db.properties"></properties>
        <!-- settings 主要用于配置mybatis运行中一些行为  -->
        <settings>
            <setting name="cacheEnabled" value="true"/>
        </settings>
        <!-- 用于设置别名 -->
        <typeAliases>
            <!-- alias是别名 type 指定类型 
            <typeAlias alias="Role" type="cn.wh.vo.Role"/>
            -->
            <!-- package为指定的包设置别名  默认别名为类名 -->
            <package name="cn.wh.vo"/>
        </typeAliases>
        <!-- 配置运行环境  
                mybatis可以配置多套运行环境
                default指定默认使用哪一套环境
                虽然您可以配置多个运行环境,但是每个SqlSessionFactory 
                实例只能选择一个运行环境。
        -->
        <environments default="development">
            <environment id="development">
                <!-- 配置事务管理器
                    JDBC – 这个配置直接使用JDBC 的提交和回滚功能。它依赖于从数据源获得连接来管理
                    事务的生命周期。
                    • MANAGED – 这个配置基本上什么都不做。它从不提交或者回滚一个连接的事务。而是让
                    容器(例如:Spring 或者J2EE 应用服务器)来管理事务的生命周期
                 -->
                <transactionManager type="JDBC" />
                <!-- 
                    UNPOOLED – 这个类型的数据源实现只是在每次需要的时候简单地打开和关闭连接。
                    POOLED – 这个数据源的实现缓存了JDBC 连接对象,用于避免每次创建新的数据库连接时都初始
                    化和进行认证,加快程序响应
                    JNDI – 这个数据源的配置是为了准备与像Spring 或应用服务器能够在外部或者内部配置数据
                    源的容器一起使用,然后在JNDI 上下文中引用它。
                 -->
                <dataSource type="POOLED">
                    <property name="driver" value="${driver}" />
                    <property name="url" value="${url}" />
                    <property name="username" value="${username}" />
                    <property name="password" value="${password}" />
                </dataSource>
            </environment>
            <environment id="test">
                <transactionManager type="JDBC" />
                    <dataSource type="POOLED">
                        <property name="driver" value="${driver}" />
                        <property name="url" value="jdbc:mysql://localhost:3306/book" />
                        <property name="username" value="${username}" />
                        <property name="password" value="${password}" />
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <!-- 配置映射文件 -->
            <mapper resource="cn/wh/mapper/RoleMapper.xml" />
        </mappers>
    </configuration>
  2. 映射文件:
    <!-- 
        namespace表示命名空间  有三大作用
            唯一区分每个Statement的id
            日志管理
            可以动态代理-当映射文件和接口在同一个包下,并且接口文件名和映射文件名相同,接口中的方法名和
            映射文件中statement的id相同时 可以使用代理来生成接口的实现类
            建议namespace名=包名+接口名
     -->
    <mapper namespace="cn.wh.mapper.RoleMapper">
        <!-- select表示查询
            id 必须写,并且在同一个namespace下唯一
            parameterType设置参数类型  如果是基本类型 可以不写
            resultType指定结果类型  基本类型也可以不写
         -->
        <select id="findById"  resultType="Role">
            select * from t_role where id = #{id}
        </select>
    </mapper>
原文地址:https://www.cnblogs.com/forever2h/p/6795855.html