新工作接手的项目真是每天都能给我带来新惊喜,前员工不规范使用 MyBatis-Plus @TableId,以及数据库设计问题,结合在一起就是埋了个雷让我踩,今天又掉坑里了。这期就简单聊聊正确用法,以及数据库自增、雪花算法等相关内容。(话说这个项目里面的屎山代码真是叹为观止:各
全外连接:SELECT * FROM dept LEFT JOIN emp ON dept.id = emp.dept_id UNION SELECT * FROM dept RIGHT JOIN emp ON dept.id = emp.dept_id ; 三种多表关系的演示 首先先创建两张表,user和account,在account表中设计外键保存user的主键id。 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `...
// 批量查询课程ID Set<Integer> subIds = stuSubRelations.stream().map(StuSubRelation::getSubId).collect(toSet()); if (stuIds.size() > 0 && subIds.size() > 0) { HashBasedTable<Integer, Integer, Integer> table = getHashBasedTable(stuSubRelations); List<Subject> subList = subjectMapp...
@TableId(type = IdType.AUTO) private int id; private String username; private String password; private String birthday; /**@TableField注解用于实体类和表字段的映射关系,它可以定义实体类中的属性和表中字段的映射关系,用于解决实体类属性和表字段不一致的问题。它可以在字段上使用,它有以下几个参数: val...
@TableId(type = IdType.AUTO) 4.项目具体使用 1:service 层 public interface SystemUserService extends BaseBatchService{ /// 自己的接口 } 2:service 实现层 @Service public class SystemUserServiceImpl extends BaseBatchServiceImpl<SysUserMapper, SysUser> implements SystemUserService { /// 自己的接口...
先查询包含id的列表记录,从结果集中析出id并转化成批查询语句再访问数据库,从第二次调用结果集中解析出name。 查询结果(VO)有多条记录,但仅调用两次数据库,时间复杂度为O(1)。 三、一对多查询 一对多查询最常见的场景是查询部门所包含的学生信息,由于一个部门对应多个学生,每个学生对应一个部门,因此称为一对多查询...
简介:MyBatis-Plus是一个流行的Java ORM框架,用于简化数据库操作。@TableField和@TableId是MyBatis-Plus中的注解,用于配置实体类和数据库表之间的映射关系。本文将介绍这两个注解的用法和作用。 满血版DeepSeek,从部署到应用,全栈都支持 快速部署、超低价格、极速蒸馏、应用开发、即时调用 立即体验 MyBatis-Plus是...
原来,在test分支里,PayMerchantBankCardFlow#flowNo的@TableId注解被别的开发分支给merge没了。这下就真相大白了。 最终修正PayMerchantBankCardFlow实体类,revert临时改动的代码,这个乌龙事件得以消停。 一个技术点:在springboot容器启动时,mybatis-plus会检查未设置@TableId的实体类。发现后会有WARN日志。2023-11-28...
MybatisPlus多表连接查询的问题及解决⽅案 ⽬录 ⼀、序⾔ (⼀)背景内容 (⼆)场景说明 (三)前期准备 ⼆、⼀对⼀查询 (⼀)查询单条记录 (⼆)查询多条记录 三、⼀对多查询 (⼆)查询多条记录 (三)查询多条记录(分页)四、多对多查询 (⼀)查询单条记录 五、总结与拓展 ...