p6spy

SpringBoot自定义场景启动器(starter)

不问归期 提交于 2021-01-02 16:55:29
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作者 | 秋风飒飒吹 来源 | urlify.cn/IzqIB3 66套java从入门到精通实战课程分享 有时候,springboot官方提供的场景启动器(starter)并不能很好的满足我们的需求。 一些配置类仍然需要我们自行编写(例如mybatis plus的分页插件配置),在多模块项目中,这种模式代码可能多个模块都需要编写一次,这时候,我们可以考虑自行编写场景启动器,然后在common模块引入即可。 1、命名规约 spring官方: spring-boot-starter-xxx 自定义: xxx-spring--boot-starter 2、自定义starter步骤 2.1创建一个普通的空工程 2.2创建一个普通maven项目 这里我将工程命名为gulimall-spring-boot-starter 2.3创建自动配置模块 选择springboot工程构建工具: 模块命名为gulimall-spring-boot-autoconfigure。 这里可以啥都不选,后面可以自行修改 2.4修改pom文件 starter引入autoconfigure模块 autoconfigure模块,先删除build,然后删除spring-boot-test,再删除test包,因为用不到,我这里引入mybatis

【mybatis】-- if标签判断字符串相等时失效

有些话、适合烂在心里 提交于 2020-12-08 07:44:20
原mapper的sql语句如下: <select id="countOutFinishedOrdersByDeliverSign" resultType="int" > select count(1) cnt from order_customer where status = #{status} <if test="sign!=null and sign!='' and sign=='1'"> AND tms_delivery_flag is null </if> <if test="sign!=null and sign!='' and sign=='2'"> AND tms_delivery_flag = 1 </if> and last_modified_date > #{startDate} and last_modified_date <= #{endDate} </select> 以上:sign是字符串,判断等于的条件时,使用了sign=='1' 和sign=='2' 由于项目暂时还没有集成p6spy,没办法打印出sql,所以,自己按照条件拼接的sql语句到Navicat中执行,条件不一样,执行结果也不一样。但是程序接口返回的结果集却是一样的。 分析原因: sql没有问题,查询结果没有问题。然后尝试去掉了其中的判断条件 AND tms_delivery_flag is

Spring Boot (八): Mybatis 增强工具 MyBatis-Plus

心不动则不痛 提交于 2020-08-14 15:46:02
1. 简介 在目前微服务的架构模式下,每个服务拥有自己的单独的数据库,单表的使用场景会越来越多, Mybatis 的使用无疑会产生很多重复劳动。 Mybatis Plus 在这样的背景下应运而生了, MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。而开源团队对这个开源项目的愿景如下:(了解源码可+求求: 1791743380) 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 2. 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 – Sequence),可自由配置,完美解决主键问题 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model

谷粒商城的快速开发(四)

左心房为你撑大大i 提交于 2020-08-08 06:57:13
18、快速开发-配置&测试微服务基本CRUD功能 19、快速开发-逆向生成所有微服务基本CRUD代码 根据之前的博客,把代码抽取,然后把各个模块都建立一下,看了一下代码,感觉配置都很简单,后面再改,先按照教程的来。 下面就那这个模块做个实列: spring: datasource: username: root password: root url: jdbc:mysql://192.168.1.117:3306/gulimall_pms driver-class-name: com.mysql.jdbc.Driver ##mybatisplus配置 mybatis-plus: #扫描xml文件 mapper-locations: classpath:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.dalianpai.gulimall.product.entity global-config: id-type: 0 #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: 2 #驼峰下划线转换 db-column-underline: true #刷新mapper 调试神器 refresh-mapper: true #数据库大写下划线转换

使用Hibernate时如何打印带有参数值的查询字符串

情到浓时终转凉″ 提交于 2020-02-26 09:10:24
在Hibernate中是否可以用实际值而不是问号打印生成的SQL查询? 如果Hibernate API无法实现,您将如何建议使用实值打印查询? #1楼 将 hibernate.cfg.xml 更改为: <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property> 在“ log4j.properties”中包括log4j及以下条目: log4j.logger.org.hibernate=INFO, hb log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.type=TRACE log4j.appender.hb=org.apache.log4j.ConsoleAppender log4j.appender.hb.layout=org.apache.log4j.PatternLayout #2楼 您可以将类别行添加到log4j.xml: <category name="org.hibernate.type"> <priority value="TRACE"/> </category> 并添加休眠属性:

0216 aop和打印数据库执行日志

扶醉桌前 提交于 2020-02-25 20:34:29
需求 maven依赖 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.8.7</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>28.2-jre</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <

JAVA 中开发中遇到的问题集锦

我怕爱的太早我们不能终老 提交于 2020-01-06 23:28:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一. spring 引入p6spy在使用过程中出现以下错误 java.lang.AbstractMethodError: com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger.formatMessage(ILjava/lang/String;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; at com.p6spy.engine.spy.appender.FormattedLogger.logSQL(FormattedLogger.java:35) at com.p6spy.engine.common.P6LogQuery.doLog(P6LogQuery.java:120) at com.p6spy.engine.common.P6LogQuery.doLogElapsed(P6LogQuery.java:91) at com.p6spy.engine.common.P6LogQuery.logElapsed(P6LogQuery.java:200) at com.p6spy.engine.logging.LoggingEventListener

Usage of P6Spy with datasource in Spring applicationContext.xml

萝らか妹 提交于 2019-12-30 05:10:13
问题 I am using Hibernate 4, Spring 3, JSF 2.0 and Weblogic 10.3.6 as server. I have created datasource on Weblogic server and in applicationContext.xml I have defined datasource as <!-- Data Source Declaration --> <bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/​myDS"/> </bean> If I would want to use the P6Spy for logging SQL parameters, how can and where I should add the following in applicationcontext.xml? <property name=

Only show effective SQL string P6Spy

社会主义新天地 提交于 2019-12-18 05:09:08
问题 I'm using p6spy to log the sql statements generated by my program. The format for the outputted spy.log file looks like this: current time|execution time|category|statement SQL String|effective SQL string I'm just wondering if anyone knows if there's a way to alter the spy.properties file and have only the last column, the effective SQL string, output to the spy.log file? I've looked through the properties file but haven't found anything that seems to support this. Thanks! 回答1: In spy