摘要:实现基础项目的部分代码如下依赖常用库依赖驱动及插件依赖阿里依赖阿里依赖具体的配置如下配置通用,详情请查阅官方文档是否判断字符串类型即表达式内是
实现
基础项目的pom.xml部分代码如下
1.8 org.springframework.boot spring-boot-starter-parent 1.5.9.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-starter-test test commons-codec commons-codec org.apache.commons commons-lang3 3.6 com.google.guava guava 23.0 mysql mysql-connector-java runtime org.mybatis mybatis-spring 1.3.1 org.mybatis mybatis 3.4.5 tk.mybatis mapper 3.4.2 com.github.pagehelper pagehelper 4.2.1 com.alibaba fastjson 1.2.44 com.alibaba druid-spring-boot-starter 1.1.6
具体的mybatis配置如下
@Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); mapperScannerConfigurer.setBasePackage(MAPPER_PACKAGE); //配置通用Mapper,详情请查阅官方文档 Properties properties = new Properties(); properties.setProperty("mappers", MAPPER_INTERFACE_REFERENCE); properties.setProperty("notEmpty", "true");//insert、update是否判断字符串类型!="" 即 test="str != null"表达式内是否追加 and str != "" properties.setProperty("IDENTITY", "SELECT UUID()");//使用UUID作為主鍵 properties.setProperty("ORDER","BEFORE");//将查询主键作为前置操作 mapperScannerConfigurer.setProperties(properties); return mapperScannerConfigurer; }
实体如下
public class User { @Id @Column(name = "ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private String id; @Column(name = "CREATED_BY") private String createdBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "CREATED_DATE") private Date createdDate; @Column(name = "LAST_MODIFIED_BY") private String lastModifiedBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "LAST_MODIFIED_DATE") private Date lastModifiedDate;
下面这一行代码是为了解决spring MVC在入参是Date类型时或出现异常的问题
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")测试
配置文件配置输出mybatis的sql日志
logging.level.com.你的dao或mapper包=debug
执行对应插入操作观察控制台
2018-03-06 17:59:22.612 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Executing: SELECT UUID() 2018-03-06 17:59:22.629 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: <== Total: 1 2018-03-06 17:59:22.651 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Preparing: INSERT INTO user ( ID,USER_NAME,NICK_NAME,PWD_SALT,PWD_LOGIN,CREATED_BY,CREATED_DATE,LAST_MODIFIED_BY,LAST_MODIFIED_DATE,ACCOUNT_TYPE,ACCOUNT_LOCKED,ONLINE_STATUS,GROUP_ID,GROUP_NAME ) VALUES( ?,?,?,?,? ) 2018-03-06 17:59:22.665 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Parameters: 0b97ad1b-2125-11e8-9b42-704d7b7036d3(String), 2(String), 2018-01-01 01:07:05.0(Timestamp), 2(String), 2018-01-01 01:07:05.0(Timestamp) 2018-03-06 17:59:22.670 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: <== Updates: 1
可以看到,首先执行了查询UUID的操作,然后将执行结果作为插入的主键执行插入操作.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68687.html
摘要:申请连接时执行检测连接是否有效,做了这个配置会降低性能。作者在版本中使用,通过监控界面发现有缓存命中率记录,该应该是支持。允许和不允许单条语句返回多个数据集取决于驱动需求使用列标签代替列名称。需要驱动器支持。将自动映射所有复杂的结果。 项目github地址:https://github.com/5-Ason/aso... 具体可看 ./db/db-mysql 模块 本文主要实现的是对...
摘要:下面基于,带着大家看一下中如何配置多数据源。注意版本不一致导致的一些小问题。配置配置两个数据源数据库和数据库注意事项在配置数据源的过程中主要是写成和。五启动类此注解表示启动类这样基于的多数据源配置就已经完成了,两个数据库都可以被访问了。 在上一篇文章《优雅整合 SpringBoot+Mybatis ,可能是你见过最详细的一篇》中,带着大家整合了 SpringBoot 和 Mybatis...
摘要:基于最新的,是你学习的最佳指南。驱动程序通过自动注册,手动加载类通常是不必要。由于加上了注解,如果转账中途出了意外和的钱都不会改变。三的方式项目结构相比于注解的方式主要有以下几点改变,非常容易实现。公众号多篇文章被各大技术社区转载。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(Sprin...
阅读 2158·2021-11-22 13:54
阅读 3346·2019-08-29 12:25
阅读 3400·2019-08-28 18:29
阅读 3515·2019-08-26 13:40
阅读 3247·2019-08-26 13:32
阅读 923·2019-08-26 11:44
阅读 2190·2019-08-23 17:04
阅读 2942·2019-08-23 17:02