eladmin代码自动生成_高效代码自动化生成
最效率的代碼自動化
前言
? ? 今天我們來看一下springboot中使用mybatis來自動生成代碼,以前做ssh框架的時候實體和映射經常自己新建,浪費大量的時間,不過hibernate,到現(xiàn)在還是那么的費勁,尤其是復雜查詢,特別難寫。后來使用?ibatis的時候用xml寫sql語句雖然是半自動話,但是復雜查詢還能說的過去。最近幾年spring data和hibernate差不多,單表查詢挺方便,但是復雜查詢很難寫。不過我還是比較喜歡使用mybatis,mybatis以前叫ibatis,那時候我用的時候寫一堆xml,現(xiàn)在也是一樣,不過現(xiàn)在借助工具之后,感覺方便多了,可能也是用的習慣問題,比較喜歡使用mybatis。前幾篇介紹了常用的excel導入導出圖片上傳加水印這些常用的代碼,加上現(xiàn)在的mybatis的自動化代碼生成,基本上做一個簡單的系統(tǒng)是差不多了,下面我們來了解一下mybatis。
mybatis簡介
MyBatis是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數(shù)和獲取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。參照:Mybatis官網 https://mybatis.org/mybatis-3/zh/index.htmlmybatis-generator自動生成代碼插件使用詳解
??? mybatis-generator是一款在使用mybatis框架時,自動生成model,dao和mapper的工具,很大程度上減少了業(yè)務開發(fā)人員的手動編碼時間,生成簡單的單表增刪查改操作,方便開發(fā)人員的專心于業(yè)務代碼開發(fā)。下面我們來看一下具體怎么實現(xiàn)。
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=countSql03
配置mybatis-generator數(shù)據(jù)庫鏈接
# 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=12345604
配置自動生成的配置文件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腳本執(zhí)行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文件。
鏈
接
項目實戰(zhàn)——java最優(yōu)化的方法遞歸構造樹形結構
項目實戰(zhàn)——java大數(shù)據(jù)處理批量導入Excel
項目實戰(zhàn)——java統(tǒng)計分析數(shù)據(jù)Excel導出
項目實戰(zhàn)——java圖片上傳和加水印
掃碼關注我們
總結
以上是生活随笔為你收集整理的eladmin代码自动生成_高效代码自动化生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css设置input框长度_干货极致分享
- 下一篇: 虚拟内存越大越好吗_滤波电容越大越好吗?