在控制台打印sql语句配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
插入一条数据
@Test
public void insertPlus() {
User user = new User().setUserName("James").setAge(36).setUserEmail("qqq@sql.com");
userMapper.insert(user);
System.out.println(user);
}
控制台:
==> Preparing: INSERT INTO tb_user ( userEmail, user_name, age ) VALUES ( ?, ?, ? )
==> Parameters: qqq@sql.com(String), James(String), 36(Integer)
<== Updates: 1
User(id=15, userName=James, age=36, userEmail=qqq@sql.com)
通过id更新信息
@Test
public void updateByIdLoads() {
User user = new User().setId(15L).setUserName("Kobe");
Integer insert = userMapper.updateById(user);
System.out.println("return insert value = " + insert);
}
控制台:
==> Preparing: UPDATE tb_user SET user_name=? WHERE id=?
==> Parameters: Kobe(String), 15(Long)
<== Updates: 1
return insert value = 1
根据id批量删除
@Test
public void deleteLoads() {
List<Long> list = new ArrayList<>();
list.add(13L);
list.add(14L);
list.add(15L);
Integer insert = userMapper.deleteBatchIds(list);
System.out.println("return deleteBatchIds value = " + insert);
}
控制台:
==> Preparing: DELETE FROM tb_user WHERE id IN ( ? , ? , ? )
==> Parameters: 13(Long), 14(Long), 15(Long)
<== Updates: 3
return deleteBatchIds value = 3
根据id删除
@Test
public void deleteByIdLoads() {
Integer deleteById = userMapper.deleteById(12L);
System.out.println("return deleteById value = " + deleteById);
}
控制台:
==> Preparing: DELETE FROM tb_user WHERE id=?
==> Parameters: 12(Long)
<== Updates: 1
return deleteById value = 1
通过多个条件进行实体list查询
@Test
public void selectByMap() {
HashMap<String, Object> map = new HashMap<>(16);
map.put("userEmail", "test1@baomidou.com");
map.put("age", 18);
List<User> list2 = userMapper.selectByMap(map);
list2.forEach(System.out::println);
System.out.println("---------------黄金分割线---------------");
QueryWrapper<User> queryWrapper = new QueryWrapper<User>().eq("age", 18).eq("user_name", "Tom");
List<Map<String, Object>> list = userMapper.selectMaps(queryWrapper);
list.forEach(System.out::println);
}
控制台:
==> Preparing: SELECT id,userEmail,user_name,age FROM tb_user WHERE userEmail = ? AND age = ?
==> Parameters: test1@baomidou.com(String), 18(Integer)
<== Columns: id, userEmail, user_name, age
<== Row: 1, test1@baomidou.com, Jone, 18
<== Total: 1
User(id=1, userName=Jone, age=18, userEmail=test1@baomidou.com)
---------------黄金分割线---------------
==> Preparing: SELECT id,userEmail,user_name,age FROM tb_user WHERE (age = ? AND user_name = ?)
==> Parameters: 18(Integer), Tom(String)
<== Columns: id, userEmail, user_name, age
<== Row: 6, 123.qq.com, Tom, 18
<== Total: 1
{user_name=Tom, userEmail=123.qq.com, id=6, age=18}
分页查询
@Test
public void selectPageLoads() {
Page<User> page = new Page<>(2,3);
IPage<User> pageResult = userMapper.selectPage(page, null);
List<User> recordsAge = pageResult.getRecords();
recordsAge.forEach(System.out::println);
}
控制台:
==> Preparing: SELECT COUNT(1) FROM tb_user
==> Parameters:
<== Columns: COUNT(1)
<== Row: 6
==> Preparing: SELECT id,userEmail,user_name,age FROM tb_user LIMIT ?,?
==> Parameters: 3(Long), 3(Long)
<== Columns: id, userEmail, user_name, age
<== Row: 4, test4@baomidou.com, Sandy, 21
<== Row: 5, test5@baomidou.com, Billie, 24
<== Row: 6, 123.qq.com, Tom, 18
<== Total: 3
User(id=4, userName=Sandy, age=21, userEmail=test4@baomidou.com)
User(id=5, userName=Billie, age=24, userEmail=test5@baomidou.com)
User(id=6, userName=Tom, age=18, userEmail=123.qq.com)
更多用法可以查看源码。