質(zhì)感企業(yè)網(wǎng)站導航用ps怎么做百度圖片搜索網(wǎng)頁版
1. 自動填充
在項目中有一些屬性,比如常見的創(chuàng)建時間和更新時間可以設置為自動填充。
1.1 實例
需求: 將創(chuàng)建時間和更新時間設置為自動填充, 這樣每次插入數(shù)據(jù)時可以不用理會這兩個字段
1.1.1 在數(shù)據(jù)庫增加字段
默認開啟駝峰映射 createTime --> create_time
1.1.2 實體類增加字段
//分別指定為插入時自動填充和修改時自動填充@TableField(fill = FieldFill.INSERT)private Date createTime;@TableField(fill = FieldFill.INSERT_UPDATE)private Date updateTime;
1.1.3 編寫自動填充處理器,指定填充策略
//新增時創(chuàng)建時間和修改時間是一樣的,因此同步自動填充//修改時只要自動填充修改時間即可@Componentpublic class MyMetaHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {setFieldValByName("createTime",new Date(),metaObject);setFieldValByName("updateTime",new Date(),metaObject);}@Overridepublic void updateFill(MetaObject metaObject) {setFieldValByName("updateTime",new Date(),metaObject);}}
1.1.4 數(shù)據(jù)庫相關(guān)配置
1.1.4.1 時區(qū)
先用select now();檢查時區(qū)是否正確, 否則修改
1.1.4.2 url
datasource的url也聲明插入的時區(qū)
1.1.5 單元測試
@Test
void testFill(){User user = new User();user.setName("wang");user.setAge(35);user.setEmail("wang@powernode.com");user.setGender(GenderEnum.MAN);userMapper.insert(user);
}
可以看到MP自動新增了兩個插入字段.
2. SQL執(zhí)行的語句和速度分析
可以使用MybatisPlus提供的SQL分析打印的功能,來獲取SQL語句執(zhí)行的時間。
2.1 添加依賴
1】由于該功能依賴于p6spy組件,所以需要在pom.xml中先引入該組件
<dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.9.1</version>
</dependency>
2.2 修改application.yaml
將驅(qū)動和url修改
spring:datasource:driver-class-name: com.p6spy.engine.spy.P6SpyDriver#之前之后# url: jdbc:mysql://localhost:3306/studyurl: jdbc:p6spy:mysql://localhost:3306/study
2.3 在resources下,創(chuàng)建 spy.properties配置文件
#3.2.1以上使用modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory# 自定義日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger#日志輸出到控制臺
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger# 使用日志系統(tǒng)記錄 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger# 設置 p6spy driver 代理
deregisterdrivers=true# 取消JDBC URL前綴
useprefix=true# 配置記錄 Log 例外,可去掉的結(jié)果集error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss# 實際驅(qū)動可多個
#driverlist=org.h2.Driver# 是否開啟慢SQL記錄
outagedetection=true# 慢SQL記錄標準 2 秒
outagedetectioninterval=2