注意点:在使用自定义SQL的同时也想使用Wrapper需要
mybatis-plus
版本需要大于或等于3.0.7
!!!!
注解方式
1,Mapper接口
-
/**
-
* 获取自定义SQL 简化自定义XML复杂情况
-
* <p>使用方法</p>
-
* <p>`自定义sql` + ${}</p>
-
* <p>1.逻辑删除需要自己拼接条件 (之前自定义也同样)</p>
-
* <p>2.不支持wrapper中附带实体的情况 (wrapper自带实体会更麻烦)</p>
-
* <p>3.用法 ${} (不需要where标签包裹,切记!)</p>
-
* <p>是wrapper定义别名,可自行替换</p>
-
*/
-
public interface UserMapper extends BaseMapper<User> {
-
// 自定义SQL:按输入条件查询数据库中数据
-
@Select("select * from user ${}")
-
List<User> selectUsers(@Param() Wrapper<User> queryWrapper);
-
-
// 自定义SQL:查询数据库中所有的数据
-
@Select("select * from user")
-
List<User> selectAllUsers();
-
-
}
2,测试方法
-
@Test
-
public void my_selectAllUsers() {
-
// List<User> list = ();
-
List<User> list = (new QueryWrapper<User>().eq("name", "zsf"));
-
(list);
-
}
配置文件方式
1,配置文件
-
#配置文件的位置
-
mybatis-plus:
-
mapper-locations:
-
- com/example/mapper/*
2,
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/">
-
<mapper namespace="">
-
<select id="selectUsers" resultType="">
-
select * from user ${}
-
</select>
-
</mapper>
3,Mapper接口继承BaseMapper
-
public interface UserMapper extends BaseMapper<User> {
-
List<User> selectUsers(@Param() Wrapper<User> queryWrapper);
-
}
4,测试方法
-
@Test
-
public void my_selectAllUsers() {
-
// List<User> list = ();
-
List<User> list = (new QueryWrapper<User>().eq("name", "zsf"));
-
(list);
-
}
5,自定义update
-
@Update("update student set ${} ${}")
-
void upateStu(@Param()UpdateWrapper<Student> ew);
-
@Test
-
public void upateStu() {
-
(new UpdateWrapper<Student>().set("sname", "xxxxx").eq("id", 1));
-
}
普通add
-
<insert id="addstu" parameterType="">
-
insert into student(snum, sname, sage, ssex, sclass) values(#{snum},#{sname},#{sage},#{ssex},#{sclass})
-
</insert>
delete
-
<delete id="delstu" parameterType="">
-
delete from student where id=#{id}
-
</delete>
.