<selectid="findUserByCondition"resultType="user"parameterType="user">
select * from user
<where><iftest="id != 0 and id != null">
and id=#{id}
</if><iftest="username != null">
and username = #{username}
</if><iftest="password != null">
and password=#{password}
</if></where></select><selectid="findUserByIds"resultType="user"parameterType="list">
select * from user
<where><foreachcollection="list"open="id in ("close=")"item="uid"separator=",">
#{uid}
</foreach></where></select>
MyBatis多表查询
1.配置文件
<resultMapid="userMap"type="user"><idproperty="id"column="id"/><resultproperty="username"column="username"/><resultproperty="password"column="password"/><associationproperty="department"javaType="department"><idproperty="id"column="did"/><resultproperty="dName"column="d_name"/></association></resultMap><selectid="selectAll"resultMap="userMap">
SELECT * FROM dept d , USER u WHERE u.id=d.did
</select><resultMapid="deptMap"type="department"><idcolumn="did"property="id"/><resultcolumn="d_name"property="dName"/><collectionproperty="userList"ofType="user"><idcolumn="id"property="id"/><resultcolumn="username"property="username"/><resultcolumn="password"property="password"/></collection></resultMap><selectid="findAllDept"resultMap="deptMap">
SELECT * FROM dept d , USER u WHERE u.id=d.did
</select>
2.多表注解
@Select("SELECT * FROM dept d , USER u WHERE u.id=d.did")@Results({@Result(id =true,column ="id",property ="id"),@Result(column ="username",property ="username"),@Result(column ="password",property ="password"),@Result(column ="did",property ="department.id"),@Result(column ="d_name",property ="department.dName")})
List<User>selectAll();@Select("SELECT * FROM dept d , USER u WHERE u.id=d.did")@Results({@Result(id =true,column ="did",property ="id"),@Result(column ="d_name",property ="dName"),@Result(
column ="id",
property ="userList",
javaType = List.class,
many =@Many(select ="cn.liuweiwei.mapper.UserMapper.selectUserById"))})
List<Department>selectAllDept();
3.MyBatis基本注解(基本的CRUD)
@Delete("delete from user where id = #{id}")
void deleteUserById(Integer id);
@Insert("insert into user values(null,#{username},#{password})")
void insertUser(User user);
@Update("update user set username=#{username},password=#{password} where id=#{id} ")
void updateUser(User user);
@Select("select * from user where id = #{id}")
User selectUserById(Integer id);