其他分享
首页 > 其他分享> > Mybatis 包下Weekend 和Example的使用以及区别

Mybatis 包下Weekend 和Example的使用以及区别

作者:互联网

Mybatis 包下Weekend 和Example的使用以及区别

Example:

Example example = new Example(User.class);
example.setOrderByClause("create_time desc");
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("organId", organId);
userMapper.selectByExample(example);

Weekend:

Weekend<Organ> weekend = Weekend.of(Organ.class);
WeekendCriteria<Organ, Object> criteria = weekend .weekendCriteria();
criteria.andEqualTo(Organ::getParentId, parentId);
weekend.setOrderByClause("id desc");
List<Organ> organList = organService.selectByExample(weekend);

主要区别在于进行:赋予相关sql语句的条件时:
Example使用的是字符串和对应数据的方法;
Weekend使用的是JDK8特性的stream操作,使用双冒号把方法当做参数传到stream内部。

其实在Weekend的使用过程中遇到过bug,目前尚未解决,sql的条件为多个时,如果有null的条件,会遇到badSQL的报错异常。

标签:Weekend,使用,Example,criteria,Mybatis,weekend,example
来源: https://blog.csdn.net/zzztimes/article/details/113094074