精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot中記錄JDBC、JPA及MyBatis執(zhí)行SQL及參數(shù)的正確姿勢

開發(fā) 前端
本文將介紹在Spring Boot中使用JDBC、JPA及MyBatis進(jìn)行數(shù)據(jù)庫操作時(shí)記錄執(zhí)行的SQL語句。這些方法包括配置日志級(jí)別以捕獲SQL輸出、自定義數(shù)據(jù)源輸出SQL語句,以及使用第三方庫來增強(qiáng)SQL記錄的功能。

環(huán)境:SpringBoot3.4.0


1. 簡介

在Spring Boot應(yīng)用開發(fā)中,監(jiān)控和記錄SQL執(zhí)行語句對(duì)于調(diào)試、性能優(yōu)化以及確保數(shù)據(jù)訪問層的正確性至關(guān)重要。無論是使用JDBC直接操作數(shù)據(jù)庫,還是通過JPA或MyBatis等ORM框架,他們都有不同的SQL語句的記錄方式。

本文將介紹在Spring Boot中使用JDBC、JPA及MyBatis進(jìn)行數(shù)據(jù)庫操作時(shí)記錄執(zhí)行的SQL語句。這些方法包括配置日志級(jí)別以捕獲SQL輸出、自定義數(shù)據(jù)源輸出SQL語句,以及使用第三方庫來增強(qiáng)SQL記錄的功能。

2. 實(shí)戰(zhàn)案例

2.1 JDBC記錄SQL

如下數(shù)據(jù)庫操作:

private final JdbcTemplate jdbcTemplate ;
public JdbcService(JdbcTemplate jdbcTemplate) {
  this.jdbcTemplate = jdbcTemplate;
}
  
public void query() {
  String sql = "select id, name, age from user x where x.id = ?" ;
  User user = this.jdbcTemplate.queryForObject(sql, new RowMapper<User>() {
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
      return new User(rs.getLong(1), rs.getString(2), rs.getString(3)) ;
    }
  }, 8) ;
  System.err.printf("user = %s\n", user) ;
}

默認(rèn)情況下,執(zhí)行上面操作是不會(huì)輸出任何SQL語句的,我們可以通過如下的配置:

logging:
  level:
    '[org.springframework.jdbc.core.JdbcTemplate]': debug

圖片圖片

如果你還希望輸出動(dòng)態(tài)參數(shù),則再添加如下日志配置:

logging:
  level:
    '[org.springframework.jdbc.core.StatementCreatorUtils]': trace

圖片圖片

2.2 JPA記錄SQL

如下數(shù)據(jù)庫操作:

private final UserRepository userRepository ;
public UserService(UserRepository userRepository) {
  this.userRepository = userRepository;
}
public User findById(Long id) {
  return this.userRepository.findById(id).orElse(null) ;
}

最常見的輸出執(zhí)行SQL方式

spring:
  jpa:
    show-sql: true
    properties:
      hibernate:
        '[format_sql]': true

圖片圖片

但是此種方式是直接通過System.out方式進(jìn)行輸出,并且還不會(huì)記錄預(yù)處理語句的參數(shù);不推薦此做法。

使用日志框架記錄

在application.yml或properties中進(jìn)行日志的配置:

logging:
  level:
    '[org.hibernate.SQL]': debug
    '[org.hibernate.orm.jdbc.bind]': trace

org.hibernate.SQL:記錄執(zhí)行的SQL。

org.hibernate.orm.jdbc.bind:記錄預(yù)處理語句的參數(shù)。

圖片圖片

2.3 MyBatis記錄SQL

如下數(shù)據(jù)庫操作:

@Select("select id, age, name, deleted from user where id = ${id}")
User queryUserById(@Param("id") Long id) ;

注意:${xx}有注入風(fēng)險(xiǎn)?我重寫了mybatis處理SQL的一個(gè)核心類,不再有任何注入風(fēng)險(xiǎn)

比較常見的配置日志方式

mybatis:
  configuration: 
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

如上配置日志輸出結(jié)果如下:

圖片圖片

不僅僅輸出的是sql還將數(shù)據(jù)也輸出了,并且這里是通過System.out進(jìn)行輸出的,并且還不管你是否配置的debug級(jí)別都會(huì)進(jìn)行輸出,下面是源碼部分:

圖片圖片

使用SLF4j日志實(shí)現(xiàn)

mybatis:
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl

如上配置后并不會(huì)輸出sql日志,還需要進(jìn)行如下的配置:

logging:
  level:
    '[com.pack.mapper]': DEBUG

圖片

2.4 萬能SQL記錄方式

使用攔截器是記錄各種SQL查詢的最佳方法。在這種方法中,我們可以攔截JDBC調(diào)用,對(duì)其進(jìn)行格式化,然后以自定義格式記錄SQL查詢。

下面介紹一個(gè)第三方開源庫datasource-proxy,該組件用于攔截SQL查詢并記錄。

<dependency>
  <groupId>com.github.gavlyukovskiy</groupId>
  <artifactId>datasource-proxy-spring-boot-starter</artifactId>
  <version>1.10.0</version>
</dependency>

日志級(jí)別配置如下:

logging:
  level:
    '[net.ttddyy.dsproxy.listener]': debug

這時(shí)候不論你使用JDBC,JPA還是MyBatis都能優(yōu)雅的記錄SQL信息。

圖片圖片

責(zé)任編輯:武曉燕 來源: Spring全家桶實(shí)戰(zhàn)案例源碼
相關(guān)推薦

2021-09-15 16:20:02

Spring BootFilterJava

2025-03-11 00:55:00

Spring停機(jī)安全

2025-02-12 08:07:40

2024-08-01 09:10:03

2024-08-12 10:13:01

2024-12-06 10:43:27

2020-06-18 08:18:35

密碼加密安全

2022-04-28 08:05:05

數(shù)據(jù)庫數(shù)據(jù)庫交互

2019-10-18 10:43:11

JPASpring Boot Flyway

2024-08-02 09:15:22

Spring捕捉格式

2024-10-07 08:40:56

Spring應(yīng)用程序Java

2020-08-05 08:30:25

Spring BootJavaSE代碼

2018-01-11 15:31:39

命令Linux關(guān)機(jī)

2017-02-23 15:37:44

OptionObject容器

2016-05-09 10:41:03

算法分析開發(fā)

2023-10-18 08:12:34

Spring自動(dòng)配置

2023-03-13 07:35:44

MyBatis分庫分表

2022-11-10 07:53:54

Spring參數(shù)校驗(yàn)

2023-11-03 07:58:54

CORSSpring

2010-06-17 15:33:16

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩精品福利一区二区三区| 国产在线看片| 视频一区二区中文字幕| 中文字幕欧美国内| 三年中文在线观看免费大全中国| 亚洲成a人v欧美综合天堂麻豆| 国产经典欧美精品| 欧洲精品久久久| 久久久久久久久毛片| 亚洲最好看的视频| 欧美大片免费久久精品三p| 国产乱子夫妻xx黑人xyx真爽| 日本免费中文字幕在线| 91在线国产观看| 91久久精品国产91性色| 伊人久久综合视频| 91蜜臀精品国产自偷在线| 亚洲国产成人精品久久| 伊人成人222| 大胆人体一区| 亚洲成人tv网| 日本老太婆做爰视频| 男女污视频在线观看| 福利电影一区二区| 国产日韩一区在线| 在线天堂中文字幕| 禁久久精品乱码| 欧美成人一二三| 人与嘼交av免费| 色哟哟精品丝袜一区二区| 日韩一区二区三区四区| 亚洲性图一区二区| 三级成人在线| 欧美午夜丰满在线18影院| 亚洲啊啊啊啊啊| 久久亚洲天堂| 亚洲欧洲av一区二区三区久久| 欧美资源一区| 人操人视频在线观看| 成人激情免费网站| 成人自拍网站| www香蕉视频| 国产一区二区剧情av在线| 国产精品久久久久久av下载红粉| 天天干天天干天天操| 亚洲伦理精品| 91精品国产91久久久久久吃药| 欧美又粗又大又长| 一区二区三区四区在线观看国产日韩 | 国产在线不卡一区| 91精品国产综合久久香蕉922| 亚洲国产成人精品女人久久| 午夜在线一区二区| 欧美在线亚洲一区| 日本a级c片免费看三区| 久久精品人人| 国产精品久久久久久亚洲影视| 成人免费毛片视频| 日本视频中文字幕一区二区三区| 国产成人综合久久| 中文字幕在线播放av| 裸体在线国模精品偷拍| 成人福利网站在线观看11| 国产强伦人妻毛片| 国产盗摄女厕一区二区三区| 成人免费91在线看| 亚洲欧洲成人在线| 久久精品综合网| 亚洲视频在线二区| 国产成人l区| 亚洲成a人v欧美综合天堂下载| 成年女人18级毛片毛片免费| 国产激情视频在线看| 亚洲va欧美va人人爽| 91av资源网| 78精品国产综合久久香蕉| 欧美精品丝袜久久久中文字幕| 深爱五月综合网| 国产伦精品一区二区三区在线播放 | 日韩午夜免费| 国产成人免费av| 亚洲天堂自拍偷拍| 国产激情视频一区二区在线观看| 国产精品久久久久久久免费大片| 免费在线黄色影片| 亚洲欧洲日韩一区二区三区| 国产夫妻自拍一区| 日日av拍夜夜添久久免费| 欧美剧情片在线观看| 国产亚洲色婷婷久久| 欧洲在线一区| 日日噜噜噜夜夜爽亚洲精品| 国产一级片免费| 久久蜜桃精品| 99re热精品| 麻豆国产在线播放| 一区二区三区日韩欧美精品| 国产91对白刺激露脸在线观看| 国语自产精品视频在线看抢先版结局| 欧美一级日韩免费不卡| 黄瓜视频污在线观看| 999国产精品| 26uuu另类亚洲欧美日本一| 亚洲字幕av一区二区三区四区| 成人性生交大片免费看中文| 三区精品视频| jizzjizz中国精品麻豆| 欧美日韩国产美女| 欧美在线一级片| 久久精品一区二区不卡| 热久久免费国产视频| 精品久久久中文字幕人妻| 久久婷婷国产综合国色天香| 青青视频免费在线观看| 亚洲不卡系列| 国产视频在线一区二区| 九九视频免费观看| 久久精品72免费观看| 欧美日韩国产三区| 91破解版在线观看| 欧美一区二区三区成人| 一二三四国产精品| 久久久久.com| 精品无人区一区二区三区竹菊| 黄色一级大片在线免费看产| 欧美中文一区二区三区| 美女又爽又黄视频毛茸茸| 欧美日韩91| 亚洲aⅴ日韩av电影在线观看 | 久久视频在线观看免费| jizz国产在线| 久久蜜桃av一区二区天堂| 人妻无码久久一区二区三区免费| 精品精品视频| 久久九九亚洲综合| 国产又粗又猛视频| 中文字幕永久在线不卡| 九色91popny| 欧美色就是色| 国产精品18久久久久久首页狼 | 久久免费美女视频| 久久精品免费一区二区| 欧美日日夜夜| 国产91av在线| 视频一区二区三区在线看免费看| 亚洲精品乱码久久久久久久久| 色网站在线视频| 99精品在线观看| 成人午夜一级二级三级| 大地资源网3页在线观看| 91精品国产91久久久久久一区二区 | 青青青免费视频在线2| 狠狠色狠色综合曰曰| 女人被狂躁c到高潮| 亚洲综合日本| 欧美日韩一区在线观看视频| 欧美性猛交xxx高清大费中文| 国产偷亚洲偷欧美偷精品| 欧产日产国产69| 国产嫩草影院久久久久| 久久国产这里只有精品| 在线成人超碰| 国产厕所精品在线观看| 美女的胸无遮挡在线观看| 亚洲裸体xxxx| 一区二区三区免费在线| 亚洲精品国产精华液| 怡红院一区二区| 国产精品腿扒开做爽爽爽挤奶网站| 乱色588欧美| 91成人在线| 欧美风情在线观看| 日韩资源在线| 欧美妇女性影城| 国产一级理论片| 久久久久国产精品麻豆ai换脸 | 91精品国产乱码久久久竹菊| 91精品国产高清久久久久久91 | 亚洲国产最新| 国产精品视频一区国模私拍 | 四季av一区二区凹凸精品| 亚洲在线免费视频| 欧美18av| 欧美成人一区在线| 内衣办公室在线| 91精品在线一区二区| 日韩精品久久久久久久| 亚洲国产精品二十页| 亚洲成年人av| 美女视频黄 久久| 国产精品va在线观看无码| 美女网站一区| av激情久久| 成人在线视频播放| 九九热这里只有精品6| 欧洲免费在线视频| 日韩欧美国产一区二区在线播放| 久草视频一区二区| 一区二区三区四区在线| av电影网站在线观看| 丁香六月久久综合狠狠色| mm1313亚洲国产精品无码试看| 亚洲一区 二区 三区| 欧美精品中文字幕一区二区| 警花av一区二区三区| 国产精品va在线播放我和闺蜜| 欧美巨大xxxx做受沙滩| 中文亚洲视频在线| 无码国产精品一区二区色情男同 | 日韩av片电影专区| 日韩另类在线| www.亚洲男人天堂| 加勒比一区二区三区在线| 精品日韩av一区二区| 中文字幕777| 欧美性猛交xxxx乱大交| 国产精品999久久久| 亚洲三级电影网站| 秋霞网一区二区三区| 91老师片黄在线观看| 极品白嫩少妇无套内谢| 韩国精品久久久| 9久久婷婷国产综合精品性色 | 中国极品少妇videossexhd| 精彩视频一区二区三区| 国产超碰在线播放| 视频一区二区三区在线| 日韩人妻精品无码一区二区三区| 亚洲午夜av| 欧美另类videosbestsex日本| 欧美成免费一区二区视频| 日本一区二区三区免费观看 | 亚洲人成免费电影| 四虎影视在线播放| 日韩高清av在线| 亚洲欧美色视频| 亚洲精品一区中文字幕乱码| 人妻一区二区三区| 亚洲电影天堂av| 手机看片福利在线| 亚洲激情自拍图| 日韩av成人| 亚洲男人天堂2019| 免费黄色在线视频网站| 亚洲色图第三页| 成人高清免费观看mv| 国产一区二区三区三区在线观看| 欧美18xxxxx| 夜夜躁日日躁狠狠久久88av| 国产中文在线观看| 日韩一区二区精品视频| 黄网站在线播放| 久久99精品国产99久久6尤物| 日本片在线观看| 午夜精品福利在线观看| 亚洲精品动漫| 国产精品国产亚洲伊人久久| 国产精品99| 91在线视频成人| 91久久精品无嫩草影院| 九九99玖玖| 红桃成人av在线播放| 影音先锋在线亚洲| 国产精品videosex极品| 成人在线观看你懂的| 美女精品在线| 伊人网在线综合| 国产激情一区二区三区| jizz欧美性20| 国产精品久99| 国产精彩视频在线| 91国在线观看| 国产国语亲子伦亲子| 亚洲精品美女在线观看播放| 成人av电影观看| 欧美大片大片在线播放| 台湾佬中文娱乐网欧美电影| 国产精品96久久久久久又黄又硬| www.成人| 老牛影视免费一区二区| 手机在线一区二区三区| 奇米影视亚洲色图| 另类小说视频一区二区| 一级少妇精品久久久久久久| 久久精品欧美日韩| 国产精品九九九九九九| 成人在线视频区| 亚洲欧美日韩天堂| av在线下载| 日本午夜人人精品| 日本一区精品视频| 欧美亚洲另类在线一区二区三区| 亚洲国产一区二区在线观看 | 国产在线一区二区| 播金莲一级淫片aaaaaaa| 亚洲品质自拍视频| 国产一级淫片a视频免费观看| 欧美一区二区三区在线电影 | 欧美成年人视频网站| 国产精欧美一区二区三区蓝颜男同| 成人在线激情视频| 国产精品免费大片| 东北少妇不带套对白| 老司机一区二区| 人妻少妇精品视频一区二区三区| 亚洲美女屁股眼交3| 懂色av中文字幕| 日韩经典中文字幕在线观看| 中文字幕在线播放网址| 国产精品美女www爽爽爽视频| 美女视频亚洲色图| 色综合影院在线| 中文字幕在线观看国产| 欧美精品一区二区三区蜜臀| 日韩精品成人av| 国产成人免费av电影| 天天躁日日躁狠狠躁欧美巨大小说 | 中文字幕第九页| 亚洲欧洲精品一区二区精品久久久 | 91色视频在线导航| 成人写真视频| 免费大片在线观看| eeuss影院一区二区三区| 欧美成人精品欧美一| 欧美日本免费一区二区三区| 理论在线观看| 91精品国产免费久久久久久 | 国产亚洲精品久久久久动| missav|免费高清av在线看| 91香蕉国产在线观看| 99久久99久久精品国产片桃花 | 中国老女人av| 久久国内精品视频| jizzjizzjizz国产| 欧日韩精品视频| 国产日本在线| 国产精品久久久久99| 精品欧美久久| 爱情岛论坛成人| 欧美激情在线一区二区三区| 中文字幕精品无| 在线观看日韩视频| 丁香婷婷久久| 亚洲精品在线免费| 另类欧美日韩国产在线| 成年人免费视频播放| 欧美日韩在线播放一区| 嫩草香蕉在线91一二三区| 成人在线免费观看视视频| 99精品视频在线| 男生和女生一起差差差视频| 一区二区三区在线看| 黄片毛片在线看| 国产69精品久久久久久| 狠狠综合久久av一区二区蜜桃| 天堂中文视频在线| 中文字幕日韩一区二区| 国产av无码专区亚洲av| 久久久久久久久综合| 人体久久天天| 一级特黄性色生活片| 日韩一区中文字幕| 亚洲不卡免费视频| 欧美在线观看日本一区| 精品国产一区二区三区香蕉沈先生| 天堂在线资源视频| 亚洲精品日韩专区silk| 欧美一区二区公司| 国产精品7m视频| 亚洲不卡av不卡一区二区| 99riav国产精品视频| 欧美日韩亚洲激情| 一区二区三区视频网站| 91传媒视频在线观看| 国产美女诱惑一区二区| 成人性生交大片免费看无遮挡aⅴ| 欧美日韩成人激情| 91色在线看| 一卡二卡3卡四卡高清精品视频| 国产精一品亚洲二区在线视频| 日本中文字幕免费| 在线国产精品视频| 综合欧美亚洲| 成人亚洲视频在线观看| 亚洲欧美日韩久久精品| 性xxxfllreexxx少妇| 国产综合久久久久| 国产欧美一区二区色老头| 性爱在线免费视频| 亚洲国产精彩中文乱码av| 成人黄色免费观看| 国产欧美日韩网站| 国产精品国产三级国产a| 日本加勒比一区| 成人免费视频网| 国产欧美午夜| 欧美精品乱码视频一二专区| 亚洲欧洲在线播放| aaa国产精品视频| www.久久91|