一、Mapper 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.liu.mapper.UserInfoMapper"> <!-- property对应实体类属性 column 对应着数据库字段 --> <resultMap type="UserInfo" id="userMap"> <result property="userId" column="user_id"></result> <result property="userName" column="user_name"></result> <result property="userSex" column="user_sex"></result> </resultMap> <select id="selectUser" parameterType="UserInfo" resultMap="userMap"> select * from user_info where 1=1 <if test="userId!=null"> and user_id =#{userId} </if> <if test="userName!=null and userName!=''"> and user_name like #{userName} </if> <if test="userSex!=null and userSex!=''"> and user_sex = #{userSex} </if> </select> <select id="selectUser2" parameterType="UserInfo" resultMap="userMap"> select * from user_info where 1=1 <choose> <when test="userId!=null"> and user_id =#{userId} </when> <when test="userName!=null and userName!=''"> and user_name like #{userName} </when> <otherwise> and user_sex = #{userSex} </otherwise> </choose> </select> <select id="selectUser3" parameterType="UserInfo" resultMap="userMap"> select * from user_info <where> <if test="userId!=null"> and user_id =#{userId} </if> <if test="userName!=null and userName!=''"> and user_name like #{userName} </if> <if test="userSex!=null and userSex!=''"> and user_sex = #{userSex} </if> </where> </select> <select id="selectUser4" parameterType="UserInfo" resultMap="userMap"> select * from user_info <trim prefix="where" prefixOverrides="and|or"> <if test="userId!=null"> and user_id =#{userId} </if> <if test="userName!=null and userName!=''"> and user_name like #{userName} </if> <if test="userSex!=null and userSex!=''"> and user_sex = #{userSex} </if> </trim> </select> <update id="updateUser" parameterType="UserInfo"> update user_info <set> <if test="userName!=null and userName!=''"> user_name=#{userName}, </if> <if test="userSex!=null and userSex!=''"> user_sex=#{userSex}, </if> </set> where user_id=#{userId} </update> <select id="selectUser5" parameterType="UserInfo" resultMap="userMap"> select * from user_info where user_id in <foreach collection="userIds" item="item" open="(" separator="," close=")" > #{item} </foreach> </select> </mapper>
二、Mapper接口
package com.liu.mapper;
import java.util.HashMap;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.liu.po.UserInfo;
public interface UserInfoMapper {
public List<UserInfo> selectUser(UserInfo user);
public List<UserInfo> selectUser2(UserInfo user);
public List<UserInfo> selectUser3(UserInfo user);
public List<UserInfo> selectUser4(UserInfo user);
public List<UserInfo> selectUser5(UserInfo user);
public int updateUser(UserInfo user);
}
二、测试类
package com.liu;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.liu.mapper.UserInfoMapper;
import com.liu.po.UserInfo;
import com.liu.utils.DBFactory;
public class UserTest {
SqlSession session = null;
UserInfoMapper mapper = null;
@Before
public void testBefore() {
session = DBFactory.getSession();
mapper = session.getMapper(UserInfoMapper.class);
}
@After
public void testAfter() {
session.close();
}
@Test
public void selectUser(){
UserInfo user = new UserInfo();
user.setUserId(4);
user.setUserName("%他爸%");
user.setUserSex("男");
List<UserInfo> list = mapper.selectUser(user);
for(UserInfo u:list){
System.out.println(u);
}
}
@Test
public void selectUser2(){
UserInfo user = new UserInfo();
//user.setUserId(4);
//user.setUserName("%他爸%");
//user.setUserSex("男");
List<UserInfo> list = mapper.selectUser2(user);
for(UserInfo u:list){
System.out.println(u);
}
}
@Test
public void selectUser3(){
UserInfo user = new UserInfo();
user.setUserId(4);
user.setUserName("%他爸%");
user.setUserSex("男");
List<UserInfo> list = mapper.selectUser3(user);
for(UserInfo u:list){
System.out.println(u);
}
}
@Test
public void selectUser4(){
UserInfo user = new UserInfo();
//user.setUserId(4);
//user.setUserName("%他爸%");
user.setUserSex("男");
List<UserInfo> list = mapper.selectUser4(user);
for(UserInfo u:list){
System.out.println(u);
}
}
@Test
public void selectUser5(){
UserInfo user = new UserInfo();
List<Integer> plist = new ArrayList<Integer>();
plist.add(2);
plist.add(4);
user.setUserIds(plist);
List<UserInfo> list = mapper.selectUser5(user);
for(UserInfo u:list){
System.out.println(u);
}
}
@Test
public void updateUser(){
UserInfo user = new UserInfo();
user.setUserId(4);
user.setUserName("孩子她妈");
user.setUserSex("男");
int count = mapper.updateUser(user);
session.commit();
System.out.println(count);
}
}
转载于:https://blog.51cto.com/liuyj/1609913