久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MyBatis Plus配置日志CRUD的使用詳解

瀏覽:4日期:2023-10-23 12:38:12

配置日志

我們所有的sql在mybatisplus是不可見的,所以在開發(fā)中需要配置日志,開發(fā)完成后,就可以取消日志了,因?yàn)槿罩疽彩菗p耗資源的

#配置日志mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #僅控制臺(tái)輸出的日志

MyBatis Plus配置日志CRUD的使用詳解

配置完日志后,后面的學(xué)習(xí)就需要注意自動(dòng)生成的SQL,相信你們會(huì)喜歡上MybatisPlus

CRUD使用

Insert插入

//測(cè)試插入 @Test public void testInsert(){ Air air = new Air(); air.setDistrictId(4); air.setLastModifyTime(new Date()); air.setMonitoringStation('哈哈哈哈哈哈'); air.setMonitorTime(new Date()); air.setPm10(33); air.setPm25(65); airMapper.insert(air); System.out.println(air); }

MyBatis Plus配置日志CRUD的使用詳解

這里可以看出系統(tǒng)幫我們自動(dòng)生成了一個(gè)id

MyBatis Plus配置日志CRUD的使用詳解

因?yàn)槲覕?shù)據(jù)庫(kù)設(shè)置的自增的,我把自增取消

MyBatis Plus配置日志CRUD的使用詳解

再看一下插入結(jié)果,發(fā)現(xiàn)標(biāo)紅了,因?yàn)槟J(rèn)會(huì)插入0為主鍵的id,我之前有一個(gè)0所以插入失敗

MyBatis Plus配置日志CRUD的使用詳解

有的人的id如果是Lang類型的可能會(huì)默認(rèn)插入很長(zhǎng)的一段數(shù)字作為id,這里是雪花算法所生成的隨機(jī)數(shù),全球唯一(全局唯一id)對(duì)應(yīng)數(shù)據(jù)庫(kù)中的主鍵(uuid,自增id,雪花算法,redis,zookeeper)

主鍵生成策略

Twitter的snowflake算法(雪花算法)

snowflake是Twitter開源的分布式ID生成算法,結(jié)果是一個(gè)long型的ID。其核心思想是:使用41bit作為毫秒數(shù),10bit作為機(jī)器的ID(5個(gè)bit是數(shù)據(jù)中心,5個(gè)bit的機(jī)器ID),12bit作為毫秒內(nèi)的流水號(hào)(意味著每個(gè)節(jié)點(diǎn)在每毫秒可以產(chǎn)生 4096 個(gè) ID),最后還有一個(gè)符號(hào)位,永遠(yuǎn)是0。

要想設(shè)置主鍵的增加方式可以加入注解@TableId,因?yàn)槭敲杜e類所以后面有很多方式

MyBatis Plus配置日志CRUD的使用詳解

更新操作

//測(cè)試更新 @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); }

MyBatis Plus配置日志CRUD的使用詳解

因?yàn)橄駈ew Date()這種在代碼中出現(xiàn),顯得很low而且消耗資源,我們可以使用注解的方式:

自動(dòng)填充

創(chuàng)建時(shí)間,修改時(shí)間這些個(gè)操作一般都是自動(dòng)化完成的不希望手動(dòng)更新阿里巴巴研發(fā)手冊(cè): 所有的數(shù)據(jù)庫(kù)表:gmt_create,gmt_modified(格林尼治時(shí)間)

方式一:數(shù)據(jù)庫(kù)方式(工作中一般是不允許修改數(shù)據(jù)庫(kù)的,因?yàn)闋砍兜膯栴}很多很復(fù)雜特別容易出bug還找不出來)

在表中的這兩個(gè)表,就是創(chuàng)建和修改時(shí)間

MyBatis Plus配置日志CRUD的使用詳解

打鉤自動(dòng)更新當(dāng)前時(shí)間

MyBatis Plus配置日志CRUD的使用詳解

如果還有自己手寫日期的小伙伴,以后你就不用一個(gè)一個(gè)添加了

代碼級(jí)別刪除數(shù)據(jù)庫(kù)默認(rèn)值MyBatis Plus配置日志CRUD的使用詳解實(shí)體類的字段屬性上需要增加注釋@TableField

MyBatis Plus配置日志CRUD的使用詳解

源碼如下,可以看到fill的方法就是填充方法

MyBatis Plus配置日志CRUD的使用詳解MyBatis Plus配置日志CRUD的使用詳解

public class Air { @TableId(type = IdType.ASSIGN_ID) private Long id; private long districtId; @TableField(fill = FieldFill.INSERT) //插入的時(shí)候更新插入時(shí)間 private Date monitorTime; private long pm10; private long pm25; private String monitoringStation; @TableField(fill = FieldFill.INSERT_UPDATE) //更新和插入的時(shí)候都更新時(shí)間 private Date lastModifyTime;}

當(dāng)然填充策略可以重寫,進(jìn)行自定義填充策略

首先創(chuàng)建一個(gè)MyMetaObjectHandler類(名字隨便)

@Slf4j //抓取日志@Component //SpringBoot的注解 ,一定不要忘了吧處理器加到IOC容器中public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info('start insert fill');//源碼: setFieldValByName(String fieldName(字段名), Object fieldVal(字段值), MetaObject metaObjec(對(duì)象)) this.setFieldValByName('monitor_time',new Date(),metaObject); this.setFieldValByName('last_modify_time',new Date(),metaObject); } @Override public void updateFill(MetaObject metaObject) { log.info('Start update fill....'); this.setFieldValByName('last_modify_time',new Date(),metaObject); }}

測(cè)試

增加:

MyBatis Plus配置日志CRUD的使用詳解

更新

MyBatis Plus配置日志CRUD的使用詳解

可以看到時(shí)間已經(jīng)自動(dòng)更新為當(dāng)前的時(shí)間了

總結(jié)

到此這篇關(guān)于MyBatis Plus配置日志,CRUD的使用的文章就介紹到這了,更多相關(guān)MyBatis Plus配置日志CRUD的使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 国产精品一区二区三区免费 | 91爱爱视频 | 欧美午夜精品久久久久久浪潮 | 视频一区二区三区中文字幕 | 少妇一区二区三区 | 日韩在线视频在线观看 | 日韩1区 | 日日干天天干 | 美欧一级片 | www成人精品 | 国产在线观看av | 国产一区二区三区色淫影院 | 黄色av网站免费看 | 久久成人国产 | 国产精品一区二区三区99 | 精品亚洲一区二区三区四区五区 | 五月天婷婷综合 | 国产精品1区2区在线观看 | 国产成人精品在线 | 亚洲精品一二三四五区 | 91亚洲一区 | 91九色porny首页最多播放 | 国产一区二区影院 | 久久久久免费精品视频 | 国产一级视频 | 人人爽视频 | 999久久久国产999久久久 | 国产浪潮av色综合久久超碰 | 成人免费视频网站在线观看 | 色综合国产 | 欧美| 一区二区久久久 | 久久国产成人 | 欧洲亚洲精品久久久久 | 国产精品国产三级国产aⅴ无密码 | 国产电影一区二区 | 99国产精品久久久 | 精品久久久久久久 | 国产精品美女av | 日韩精品免费观看 | 国产一区二区精品 |