user表中的数据
java代码
@Service
public class IUserServiceImpl implements IUserService {
@Autowired
private IUserMapper userMapper;
//查找相同的用户
@Override
public void selectSameUser() {
List<User> userListParam = new ArrayList<>();
User user1 = new User();
user1.setId("1");
user1.setAccount("test1");
userListParam.add(user1);
User user2 = new User();
user2.setId("2");
user2.setAccount("test2");
userListParam.add(user2);
User user3 = new User();
user3.setId("3");
user3.setAccount("test3");
userListParam.add(user3);
List<User> userListResult = userMapper.selectSameUser(userListParam);
System.out.println(userListResult.toString());
}
}
@Mapper
public interface IUserMapper extends BaseMapper<User> {
//查找相同的用户
List<User> selectSameUser(List<User> userList);
}
XML代码(sql)
<?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.slj.user.dao.IUserMapper">
<select id="selectSameUser" parameterType="java.util.List" resultType="com.slj.user.entity.User">
select
a.*
from user a
inner join(
<foreach collection="list" item="item" index="index" separator="union">
select
'${item.id}' as id
,'${item.account}' as account
</foreach>
)tmp on tmp.id = a.id
</select>
</mapper>
Idea控制台打印查询结果