网站建设找星火龙,新网站建设哪家好,wordpress yeti2.0,广州天河区建设网站MyBatisPlus通过扫描实体类#xff0c;并基于反射获取实体类信息作为数据库表信息
类名驼峰转下划线作为表名
名为id的字段作为主键
变量名驼峰转下划线作为表的字段名 常见注解
TableName#xff1a;用来指定表名
Tableld#xff1a;用来指定表中的主键字段信息
Tabl…MyBatisPlus通过扫描实体类并基于反射获取实体类信息作为数据库表信息
类名驼峰转下划线作为表名
名为id的字段作为主键
变量名驼峰转下划线作为表的字段名 常见注解
TableName用来指定表名
Tableld用来指定表中的主键字段信息
TableField用来指定表中的普通字段信息
IdType枚举
AUTO数据库自增长 INPUT通过set方法自行输入ASSIOG_ID分配ID接口IdentifierGenerator的方法nextId来生成id默认实现类为DefaultIdentifierGenerator雪花算法
对于这个数据库表tb_user 使用TableField的常见场景
成员变量名与数据库字段名不一致 成员变量名以is开头且是布尔值 成员变量名与数据库关键字冲突 成员变量不是数据库字段 条件构造器
查询出名字中带‘o’的存款大于等于1000元的人的idinfobalance SELECT id,info,balance FROM user WHERE username LIKE o AND balance ? void testQueryWrapper(){//1.构建查询条件QueryWrapperUser wrappernew QueryWrapperUser().selct(id,info,balance).like(username,o).ge(balance,1000);//2.查询ListUser usersuserMapper.selectList(wrapper);users.forEach(System::out::println);
} 其中User类是已经绑定数据库对应的user表 更新用户名为jack的用户余额为2000 UPDATE user SET balance 2000 WHERE username jack void testUpdateByQueryWrapper(){//1.要更新的数据User usernew User();user.setBalance(2000);//2.更新的条件QueryWrapperUser wrappernew QueryWrapperUser().eq(username,jack);//3.执行更新userMapper.update(user,wrapper);
} 更新id为1,2,4的用户的余额扣200. UPDATE user SET balance balance - 200 WHERE id IN 1,2,4 void testUpdateWrapper(){Listint idsList.of(1,2,4);UpdateWrapperUser Wrapper new UpdateWrapperUser().setSql(balancebalance-200).in(id,ids);userMapper.update(null,wrapper);} 尽量使用LambdaQueryWrapper和LambdaUpdateWrapper避免硬编码 void testLambdaQueryWrapper(){//1.构建查询条件LabdaQueryWrapperUser wrappernew LabdaQueryWrapperUser().selct(User::getUsername,User::getInfo,User::getBalance).like(User::getUsername,o).ge(User::getBalance,1000);//2.查询ListUser usersuserMapper.selectList(wrapper);users.forEach(System::out::println);
} Service接口 自己写的UserService接口继承IService接口实现类UserServiceImpl继承ServiceImpl实现类此时就可以使用Service接口了。
基于Restful风格实现下面的接口 多个条件的查询建议用Lambda 项目