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>
<!--导入数据库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>