![2783a4890539e9974e69f7e385729e18.png](https://i-blog.csdnimg.cn/blog_migrate/71ca11305ec1874aeb695356c288e958.png)
最效率的代码自动化
前言
今天我们来看一下springboot中使用mybatis来自动生成代码,以前做ssh框架的时候实体和映射经常自己新建,浪费大量的时间,不过hibernate,到现在还是那么的费劲,尤其是复杂查询,特别难写。后来使用 ibatis的时候用xml写sql语句虽然是半自动话,但是复杂查询还能说的过去。最近几年spring data和hibernate差不多,单表查询挺方便,但是复杂查询很难写。不过我还是比较喜欢使用mybatis,mybatis以前叫ibatis,那时候我用的时候写一堆xml,现在也是一样,不过现在借助工具之后,感觉方便多了,可能也是用的习惯问题,比较喜欢使用mybatis。前几篇介绍了常用的excel导入导出图片上传加水印这些常用的代码,加上现在的mybatis的自动化代码生成,基本上做一个简单的系统是差不多了,下面我们来了解一下mybatis。
mybatis简介
MyBatis是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 参照:Mybatis官网 https://mybatis.org/mybatis-3/zh/index.html
mybatis-generator自动生成代码插件使用详解
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,生成简单的单表增删查改操作,方便开发人员的专心于业务代码开发。下面我们来看一下具体怎么实现。
01
在springboot框架的pom.xml中配置mybatis相关插件
<dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-configuration-processorartifactId> <optional>trueoptional>dependency><dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <scope>runtimescope>dependency><dependency> <groupId>org.mybatis.generatorgroupId> <artifactId>mybatis-generator-coreartifactId> <version>1.3.6version>dependency><dependency> <groupId>org.mybatisgroupId> <artifactId>mybatisartifactId> <version>3.4.6version>dependency><dependency> <groupId>com.github.pagehelpergroupId> <artifactId>pagehelperartifactId> <version>4.1.6version>dependency>
02
配置application.yml
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/ordershop username: root password: 123456 tomcat: initial-size: 5 max-active: 30 aop: auto: true proxy-target-class: false jpa: hibernate: ddl-auto: update show-sql: true mybatis: mapperLocations: classpath:mybatis/mapper*.xml typeAliasesPackage: com.lz.ordershop.*.modelpageHelper: reasonable: "true" supportMethodsArguments: "true" returnPageInfo: check params: count=countSql
03
配置mybatis-generator数据库链接
# MySQL Connector JarclassPath=C:/Users/user/.m2/repository/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar # MySQLjdbc_driver=com.mysql.cj.jdbc.Driverjdbc_url=jdbc:mysql://127.0.0.1:3306/ordershop?useUnicode=true&nullCatalogMeansCurrent=truejdbc_user=rootjdbc_password=123456
04
配置自动生成的配置文件generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>/span> "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" ><generatorConfiguration> <properties resource="mybatis/config.properties"/> <classPathEntry location="${classPath}"/> <context id="context1" targetRuntime="MyBatis3"> <jdbcConnection driverClass="${jdbc_driver}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_password}"/> <javaModelGenerator targetPackage="com.lz.ordershop.sys.model" targetProject="src-gen\java"/> <sqlMapGenerator targetPackage="com.lz.ordershop.sys.dao" targetProject="src-gen\resources"/> <javaClientGenerator targetPackage="com.lz.ordershop.sys.dao" targetProject="src-gen\java" type="ANNOTATEDMAPPER"/> <table tableName="sys_authority"/> <table tableName="sys_authority_copy"/> context> generatorConfiguration>
05
配置扫描的dao
@SpringBootApplication@MapperScan("com.cn.ms.*.dao")public class Application { public static void main(String[] args) { SpringApplication.run(TmsframeworkApplication.class, args); }}
06
编写cmd脚本执行maven脚本
在spring boot项目根目录下新建clearFile.cmd文件
@echo offecho.echo [信息] 清除文件echo.mvn antrun:runmvn mybatis-generator:generatepause
在spring boot项目根目录下新建mybatis-generator.cmd文件
@echo offecho.echo [信息] 生成实体文件echo.mvn mybatis-generator:generatepause
编写完脚本后每次生成实体的时候先运行clearFile.cmd文件然后在运行mybatis-generator.cmd文件。
链
接
项目实战——java最优化的方法递归构造树形结构
项目实战——java大数据处理批量导入Excel
项目实战——java统计分析数据Excel导出
项目实战——java图片上传和加水印
![bef1725c8f6318dcffbad31252acf810.gif](https://i-blog.csdnimg.cn/blog_migrate/27b468cf87d2b9faa84217b0b36e8366.gif)
扫码关注我们