mybatis配置文件

隐身守侯 提交于 2019-12-11 15:59:55

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>
    
    <!--导入数据库properties配置文件-->
    <properties resource="db.properties" />
    
    <settings>
        <!--开启二级缓存-->
        <setting name="cacheEnabled" value="true"/>
        
        <!--开启懒加载-->
        <setting name="lazyLoadingEnabled" value="true"/>
    </settings>
    
    <!--别名-->
    <typeAliases>
        <!--配置单个别名-->
<!--        <typeAlias type="com.royal.model.User" alias="user"></typeAlias>-->

        <package name="com.royal.model"/>
        <package name="com.royal.vo"/>
    </typeAliases>

    <!-- 配置mybatis的环境信息 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置JDBC事务控制,由mybatis进行管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源,采用dbcp连接池 -->
            <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 class="com/royal/mapper/UserMapper"/>-->
<!--        <mapper resource="com/royal/mapper/UserMapper.xml"/>-->
        <package name="com.royal.mapper"/>
    </mappers>
</configuration>

 

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">
<mapper namespace="com.royal.mapper.UserMapper">  <!--默认使用perpetualCachel,这里配置为ehcache-->
    <cache type="org.mybatis.caches.ehcache.EhcacheCache"></cache>
    <select id="findUserById" parameterType="int" resultType="user">
        SELECT * FROM user WHERE id = #{id}
    </select>

    <insert id="save" parameterType="user">
        <selectKey keyProperty="id" resultType="int" order="AFTER">
            select LAST_INSERT_ID();
        </selectKey>
        insert into user (username,sex,birthday,address)
        value (#{username},#{sex},#{birthday},#{address});
    </insert>

    <select id="findUserByUserQueryVO" parameterType="userQueryVO" resultType="user">
        select * from user u where u.sex = #{user.sex}
    </select>

    <resultMap id="userMap" type="user">
        <id property="id" column="id_"></id>
        <result property="username" column="username_"></result>
        <result property="birthday" column="birthday_"></result>
        <result property="sex" column="sex_"></result>
        <result property="address" column="address_"></result>
    </resultMap>

    <select id="findUserByIdResultMap" parameterType="int" resultMap="userMap">
        SELECT id id_, username username_,  birthday birthday_,  sex sex_, address address_  FROM user WHERE id = #{id}
    </select>

    <sql id="user_select_where">
        <if test="user != null">
            <if test="user.sex != null and user.sex != ''">
                sex = #{user.sex}
            </if>
            <if test="user.username != null and user.username != ''">
                and username like '%${user.username}%'
            </if>
        </if>
    </sql>

    <select id="findUserByIds" parameterType="userQueryVO" resultType="user">
        select * from user
        <where>
            <if test="ids != null and ids.size > 0">
                <foreach collection="ids" item="id" open="and id in (" close=")" separator=", ">
                    ${id}
                </foreach>
            </if>
        </where>
    </select>
</mapper>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!