springboot實(shí)現(xiàn)執(zhí)行sql語(yǔ)句打印到控制臺(tái)
每當(dāng)寫(xiě)完持久化語(yǔ)句時(shí)肯定免不了要查漏補(bǔ)缺一波。這里就可以將執(zhí)行的sql打印到控制臺(tái)來(lái)檢查sql語(yǔ)句哪里出了問(wèn)題。
2.配置配置非常簡(jiǎn)單,只需要在配置文件中設(shè)置下mapper日志級(jí)別就可以了
3.代碼application-test.properties#logging.level.mapper的路徑=異常級(jí)別logging.level.com.shuhe360.auth.auth_main_car_api.mapper.CarConsumeRecordMapper=DEBUG4.jpa
如果操作數(shù)據(jù)庫(kù)用的jpa也可以來(lái)手動(dòng)開(kāi)啟打印語(yǔ)句到控制臺(tái)的
5.jpa開(kāi)啟# JPA 相關(guān)配置spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect#這里開(kāi)啟sql打印spring.jpa.show-sql=false#程序啟動(dòng)時(shí)刪除并創(chuàng)建實(shí)體類對(duì)應(yīng)的那個(gè)表(危險(xiǎn))spring.jpa.hibernate.ddl-auto=nonespringboot 打印sql 語(yǔ)句
在配置文件中 application.yml 配置如下其一即可
方式一:logging: level: com.xxx.com.dao.mapper: DEBUG //包路徑為mapper文件包路徑
打印出來(lái)的形式如下:
2019-01-24 08:02:14.245 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - ==> Preparing: SELECT username FROM user_info WHERE username in ( ? , ? , ? ) 2019-01-24 08:02:14.245 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - ==> Parameters: nike16(String), nike14(String), nike15(String)2019-01-24 08:02:14.307 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - <== Total: 02019-01-24 08:02:14.323 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - ==> Preparing: INSERT INTO user_info ( username, password, email, telphone, birthday, createTime, updateTime ) values ( ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ? ) 2019-01-24 08:02:14.323 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - ==> Parameters: nike14(String), 4f757a334d69b32b586f3694fbaaa9a9869aee184f98e009b6e02b170f92eb9f(String), [email protected](String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp), nike15(String), 18a1c9f3e7a69e3f72ab5d80caea96e5c90f5fada8f9a7e92238dc4242ba03f8(String), [email protected](String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp), nike16(String), 5912bd4ff3ae134b15347610b64d9f352dd3c89dd2fb5c495cf4699683b33271(String), [email protected](String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp)2019-01-24 08:02:14.338 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - <== Updates: 3
方式二:mybatis configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
打印出來(lái)的形式如下
Creating a new SqlSessionRegistering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]JDBC Connection [HikariProxyConnection@898692052 wrapping com.mysql.jdbc.JDBC4Connection@6a0c5a04] will be managed by Spring==> Preparing: DELETE FROM user_info WHERE uid in ( ? , ? , ? )==> Parameters: 44(Long), 45(Long), 46(Long)<== Updates: 0Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python調(diào)用接口合并Excel表代碼實(shí)例2. 一文透徹詳解.NET框架類型系統(tǒng)設(shè)計(jì)要點(diǎn)3. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)4. 通過(guò)CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫(huà)特效5. .net如何優(yōu)雅的使用EFCore實(shí)例詳解6. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車7. 通過(guò)Ajax方式綁定select選項(xiàng)數(shù)據(jù)的實(shí)例8. ajax動(dòng)態(tài)加載json數(shù)據(jù)并詳細(xì)解析9. Python快速將ppt制作成配音視頻課件的操作方法10. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖
