service层写法,继承ISerice,泛型为实体类对象
public interface UserService extends IService<User> {
}
impl层写法,继承ServiceImpl,实现service,泛型为Mapper对象+实体类对象
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
@Test
public void testGetCount() {
//查询数据库总记录数
long count = userService.count();
//SELECT COUNT( * ) AS total FROM user
System.out.println("总记录数 = " + count);
}
@Test
public void testInsertMore() {
//批量添加(调mapper层方法,循环10次单独添加实现批量添加)
List<User> list = new ArrayList<>();
for (int i = 1; i <= 10; i ++) {
User user = new User();
user.setName("wfc" + i);
user.setAge(20 + i);
list.add(user);
}
boolean result = userService.saveBatch(list);
System.out.println("result = " + result);
}
@TableId注解可以指定主键
@TableId(value = "uid")
private Long id;
Mybatis-Plus默认使用的主键算法是雪花算法,通过TableId的type属性可以更改算法策略
// 自增策略(需要同步修改表结构中的字段为自增才可以实现)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
如果主动设置了主键,则使用自己设置的主键
@TableField指定属性对应的数据库字段名
@TableLogic表示逻辑删除字段,删除数据时变更字段值由0到1,并不会真正删除数据
select的时候也不会返回is_deleted = 1的数据文章来源:https://www.toymoban.com/news/detail-526436.html
UPDATE user SET is_deleted=1 WHERE id IN ( ? , ? , ? ) AND is_deleted=0文章来源地址https://www.toymoban.com/news/detail-526436.html
// 配置文件中配置TableLogic
mybatis-plus:
global-config:
db-config:
logic-delete-field: delFlag # 全局逻辑删除的实体字段名,也可实体类字段上加上@TableLogic注解
logic-delete-value: 1 # 逻辑已删除值
logic-not-delete-value: 0 # 逻辑未删除值
到了这里,关于Mybatis-Plus学习2 IService+ServiceImpl的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!