配置日志
我们所有的sql
在mybatisplus
是不可见的,所以在开发中需要配置日志,开发完成后,就可以取消日志了,因为日志也是损耗资源的
#配置日志 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #仅控制台输出的日志
这里可以看出系统帮我们自动生成了一个id
因为我数据库设置的自增的,我把自增取消
再看一下插入结果,发现标红了,因为默认会插入0为主键的id,我之前有一个0所以插入失败
有的人的id如果是Lang类型的可能会默认插入很长的一段数字作为id,这里是雪花算法所生成的随机数,全球唯一(全局唯一id)
对应数据库中的主键(uuid,自增id,雪花算法,redis,zookeeper)
主键生成策略
Twitter
的snowflake
算法(雪花算法)
snowflake
是Twitter
开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。
要想设置主键的增加方式可以加入注解@TableId
,因为是枚举类所以后面有很多方式
更新操作
//测试更新 @Test public void testUpdate(){ Air air = new Air(); air.setId(9L); air.setDistrictId(4); air.setLastModifyTime(new Date()); air.setMonitoringStation("哈"); air.setMonitorTime(new Date()); air.setPm10(33); air.setPm25(65); airMapper.updateById(air); }
因为像new Date()这种在代码中出现,显得很low而且消耗资源,我们可以使用注解的方式:
本文来源gaodai$ma#com搞$$代**码网自动填充
创建时间,修改时间这些个操作一般都是自动化完成的不希望手动更新
阿里巴巴研发手册: 所有的数据库表:gmt_create,gmt_modified(格林尼治时间)