新增:

User user = new User();
user.setId(null)
.setName("张三")
.setAge(23)
.setSex("男");
int rows = userMapper.insert(user);

if(rows >0) {

System.out.println("用户入库成功!");
}

 

删除:

/**
* 删除数据
* 1. 删除Id=53 54
*/
@SuppressWarnings("rawtypes")
@Test
public void deleteUsers() {
//1.根据主键删除数据
//userMapper.deleteById(53);
//userMapper.deleteById(54);
Integer[] ids = {53,54};
//2.批量删除
List list = Arrays.asList(ids);
userMapper.deleteBatchIds(list);
}

修改:

/**
* 修改操作 要求将55号数据改为 name=A班 age=10 sex="男"
*/
@Test
public void updateUser() {
User user = new User();
user.setId(55)
.setName("A班")
.setAge(10)
.setSex("男");
userMapper.updateById(user);
}

/**
* 修改name为null的元素,name=张三age=18 sex="女"
* entity: 要修改后的数据
* updateWrapper: 修改条件构造器
*/
@Test
public void updateUser2() {
User user = new User();
user.setName("张三").setAge(18).setSex("女");
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.isNull("name");
userMapper.update(user, updateWrapper);
}


对于修改的总结:
如果已经主键,一般使用updateById.
如果获取的是其他属性字段,则使用update
Demo:      //User对象(40个属性) 修改id=10号元素.
                        User user = userMapper.selectById(10);
                //修改bir的生日改为今天 date
                       user.setBir(new Date);
                       userMapper.updateById(user);
               //修改了除id之外的所有字段.
                      User userTemp = new User();
                      userTemp.setBir(new Date());
                      userTemp.setId(10);
                      userMapper.updateById(userTemp);
            注意:只修改1个字段的原则是:
                             如果利用Mybatisplus的操作过于繁琐时.则使用sql语句方式操作更快
 

查询:

/**
* 1.根据主键Id查询
*/
@Test
public void findById() {
User user = userMapper.selectById(12);
System.out.println(user);
}

/**
* 2.按照name属性查询 A班
* QueryWrapper条件构造器:
* 目的:利用对象中不为null的属性充当where条件构建
*/
@Test
public void findByName() {
User user = new User();
user.setName("A班");
QueryWrapper<User> queryWrapper = 
new QueryWrapper<User>(user);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 多条件查询
* name=1907班 and age < 20
* = (等于用“eq”)  

* > (大于用“gt”)   

* <(小于用" lt")

* >=(大于等于用"ge")

* <=(小于等于用"le")
*/
@Test
public void findByMore() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("name", "A班")
.lt("age", 20);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* name=A班 or age < 20
*/
@Test
public void findByOr() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("name", "A班")
.or()
.lt("age", 20);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

//查询年龄 age大于18 age<45 sex="男"
@Test
public void findByBet() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("sex","男")
.between("age", 18, 45);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 模糊查询 名称中包含 乔字
*/
@Test
public void findByLike() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.like("name", "%乔%");
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 查询 名称为null的数据
*/
@Test
public void findByNull() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.isNull("name");
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

mybatis-plus与mybatis相比最核心点是-------------lambda    

举例说明:校验新增的数据的id是否已存在

//假定insertDemoEntity 为前端传递过来的数据
DemoEntity insertDemoEntity = new DemoEntity();  
DemoEntity demoEntity = demoMapper.selectOne(Wrappers.<DemoEntity>query().lambda()
   .eq(DemoEntity::getId,insertDemoEntity.getId()));
if(null!=demoEntity){
   return Result(false,"插入数据的ID已存在!");
}

备注:BaseMapper<T>接口方法

int insert(T entity);

int deleteById(Serializable id);

int deleteByMap(@Param("cm") Map<String, Object> columnMap);

int delete(@Param("ew") Wrapper<T> wrapper);

int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);

int updateById(@Param("et") T entity);

int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);

T selectById(Serializable id);

List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);

T selectOne(@Param("ew") Wrapper<T> queryWrapper);

Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);

List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);

List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);

List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);

IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);

IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param("ew") Wrapper<T> queryWra
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐