基础增删改查
Dao层:
public interface UserDao extends BaseMapper<User> {
/**
* 测试自己手写的SQL及接口
* @param id
* @return
*/
public User selectByPrimaryId(Integer id);
}
对应的Mapper:
<mapper namespace="com.test.mybatisplus.dao.UserDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.test.mybatisplus.pojo.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="password" property="password" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, name, password
</sql>
<!-- 测试手写的SQL -->
<select id="selectByPrimaryId" parameterType="java.lang.Integer"
resultType="com.test.mybatisplus.pojo.User">
SELECT
<include refid="Base_Column_List" />
FROM user
WHERE id=#{id}
</select>
</mapper>
Pojo类:
public class User extends Model<User> {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String name;
private String password;
//省略get/set
测试代码:
public static void testCrud() {
// 自己手写的方式
//System.out.println(userDao.selectByPrimaryId(1));
// 自动生成的代码
// 增
/*User user01 = new User();
user01.setName("测试添加");
userDao.insert(user01);*/
//删
/*Integer influenceRows = userDao.deleteById(2);
System.out.println("影响行数:"+influenceRows);*/
//修改
User user02=new User();
user02.setId(3);
user02.setName("update测试");
System.out.println("update影响行数"+userDao.updateById(user02));
// 查
User user03 = userDao.selectById(3);
System.out.println(user03);
//分页查询
Wrapper<User> entity = new EntityWrapper<User>();
entity.like("name", "%测试%");
entity.between("id", 1, 3);
List<User> lstUser = userDao.selectPage(new Page<User>(1,10),entity);
for(User user:lstUser) {
System.out.println(user);
}
}
3 分页
确保配置文件中整合了分页插件
在xml中只需要需要写如下的代码即可实现分页:
<select id="selectUserList" parameterType="map" resultType="com.test.mybatisplus.pojo.User">
SELECT
<include refid="Base_Column_List" />
FROM user
WHERE name LIKE CONCAT("%",#{name},"%")
</select>
测试:
/**
* 分页插件
*/
public static void testPageListUser() {
Page<User> page = new Page<User>(1,10);
Map<String, Object> condition=new HashMap<String, Object>();
condition.put("name", "测试");
//String name="测试";
List<User> lstUser = userDao.selectUserList(page,condition);
for(User user:lstUser) {
System.out.println(user);
}
}
Page<InspectReviewPlanDO> page=new Page<>();
QueryWrapper<InspectReviewPlanDO> queryWrapper=new QueryWrapper<>();
queryWrapper.select("id");
queryWrapper.eq("assign_type",0 );
//排序
List<OrderItem> orderItems=new ArrayList<>();
orderItems.add(new OrderItem().setColumn("id").setAsc(false));
page.setOrders(orderItems);
IPage<InspectReviewPlanDO> planDOIPage = inspectReviewPlanMapper.selectPage(page, queryWrapper);
System.out.println(JSON.toJSONString(planDOIPage));
打印的sql