创建UserMapper.xml关联com.xbb.mybatisplus.tutorial.mapper.UserMapper
image.png
<?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.xbb.mybatisplus.tutorial.mapper.UserMapper">
<select id="list" resultType="com.xbb.mybatisplus.tutorial.entity.User">
select * from user
<where>
<if test="user.name != null and user.name != ''"> and name = #{user.name} </if>
<if test="user.email != null and user.email != ''"> and email like '%${user.email}%' </if>
</where>
</select>
<select id="selectPageVo" resultType="com.xbb.mybatisplus.tutorial.entity.User">
SELECT id,name FROM user
</select>
</mapper>
在UserMapper类中添加两个查询方法
package com.xbb.mybatisplus.tutorial.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xbb.mybatisplus.tutorial.entity.User;
public interface UserMapper extends BaseMapper<User> {
Page<User> selectPageVo(Page<User> page);
List<User> list(@Param(value = "user") User user);
}
在MybatisPlusTest中添下如下测试方法
/**
* 通过在xml编写sql语句并执行查询
*/
@Test
public void listByXml() {
User user = new User();
List<User> users = userMapper.list(user);
users.forEach(usr->{
System.out.println(usr);
});
System.out.println("****************************");
user.setName("Jone");
users = userMapper.list(user);
users.forEach(usr->{
System.out.println(usr);
});
System.out.println("****************************");
user.setName("");
user.setEmail("@");
users = userMapper.list(user);
users.forEach(usr->{
System.out.println(usr);
});
}
/**
* 通过在xml中自定义sql语句,并执行分页查询
*/
@Test
public void pageByXml() {
Page<User> page = new Page<>();
page.setSize(2l);
page.setCurrent(1l);
Page<User> pageResult = userMapper.selectPageVo(page);
System.out.println("总页数:" + pageResult.getPages());
System.out.println("每页显示的最大记录数:"+pageResult.getSize());
System.out.println("当前页码:" + pageResult.getCurrent());
System.out.println("符合条件的总记录数:" + pageResult.getTotal());
pageResult.getRecords().forEach(user -> {
System.out.println(user);
});
}