mybatis配置(動態sql)
IUserDao.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.itheima.dao.IUserDao">
<!-- 配置 查詢結果的列名和實體類的屬性名的對應關係 -->
<resultMap id="userMap" type="uSeR">
<!-- 主鍵欄位的對應 -->
<id property="userId" column="id"></id>
<!--非主鍵欄位的對應-->
<result property="userName" column="username"></result>
<result property="userAddress" column="address"></result>
<result property="userSex" column="sex"></result>
<result property="userBirthday" column="birthday"></result>
</resultMap>
<!-- 瞭解的內容:抽取重複的sql語句-->
<sql id="defaultUser">
select * from user
</sql>
<!-- 查詢所有 -->
<select id="findAll" resultMap="userMap">
<include refid="defaultUser"></include>
</select>
<!-- 根據id查詢使用者 -->
<select id="findById" parameterType="INT" resultMap="userMap">
select * from user where id = #{uid}
</select>
<!-- 根據名稱模糊查詢 -->
<select id="findByName" parameterType="string" resultMap="userMap">
select * from user where username like #{name}
</select>
<!-- 根據queryVo的條件查詢使用者 -->
<select id="findUserByVo" parameterType="com.itheima.domain.QueryVo" resultMap="userMap">
select * from user where username like #{user.userName}
</select>
<!-- 根據條件查詢
<select id="findUserByCondition" resultMap="userMap" parameterType="user">
select * from user where 1=1
<if test="userName != null">
and username = #{userName}
</if>
<if test="userSex != null">
and sex = #{userSex}
</if>
</select>-->
<select id="findUserByCondition" resultMap="userMap" parameterType="user">
select * from user
<where>
<if test="userName != null">
and username = #{userName}
</if>
<if test="userSex != null">
and sex = #{userSex}
</if>
</where>
</select>
<!-- 根據queryvo中的Id集合實現查詢使用者列表 -->
<select id="findUserInIds" resultMap="userMap" parameterType="queryvo">
<include refid="defaultUser"></include>
<where>
<if test="ids != null and ids.size()>0">
<foreach collection="ids" open="and id in (" close=")" item="uid" separator=",">
#{uid}
</foreach>
</if>
</where>
</select>
</mapper>
-----------------
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="jdbcConfig.properties"></properties>
<!--使用typeAliases配置別名,它只能配置domain中類的別名 -->
<typeAliases>
<package name="com.itheima.domain"></package>
</typeAliases>
<!--配置環境-->
<environments default="mysql">
<!-- 配置mysql的環境-->
<environment id="mysql">
<!-- 配置事務 -->
<transactionManager type="JDBC"></transactionManager>
<!--配置連線池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</dataSource>
</environment>
</environments>
<!-- 配置對映檔案的位置 -->
<mappers>
<package name="com.itheima.dao"></package>
</mappers>
</configuration>