公司网站背景图片,求免费的那种网站有哪些,爱用建站平台,域名免费通用 Mapper 在 1.0.0 版本的时候增加了 MyBatis Generator (以下简称 MBG) 插件#xff0c;使用该插件可以很方便的生成实体类、Mapper 接口以及对应的 XML 文件。
下面介绍了 mybatis-generator 在 spring-boot 中的使用过程
一、引入pom依赖
dependenciesde…通用 Mapper 在 1.0.0 版本的时候增加了 MyBatis Generator (以下简称 MBG) 插件使用该插件可以很方便的生成实体类、Mapper 接口以及对应的 XML 文件。
下面介绍了 mybatis-generator 在 spring-boot 中的使用过程
一、引入pom依赖
dependenciesdependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.7/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.19/version/dependency/dependencies
这里我使用了pagehelper-spring-boot-starter因为用到了分页查询它里面有mybatis的相关依赖下一篇文章再介绍pagehelper的使用
二、Mybatis-Generator 的 maven 插件
在 pom.xml 的插件列表中加入 mybatis-generator 的 maven 插件这样就可以生成实体类、Mapper 接口以及对应的 XML 文件。
buildpluginsplugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.4.0/versionconfiguration!--mybatis的代码生成器的配置文件--configurationFilesrc/main/resources/generator-configuration.xml/configurationFile!--允许覆盖生成的文件--!--有时候我们的数据库表添加了新字段需要重新生成对应的文件。常规做法是手动删除旧文件然后在用 MyBatis Generator 生成新文件。当然你也可以选择让 MyBatis Generator 覆盖旧文件省下手动删除的步骤。--!--值得注意的是MyBatis Generator只会覆盖旧的 po、dao、而 *mapper.xml 不会覆盖而是追加这样做的目的是防止用户自己写的 sql 语句一不小心都被 MyBatis Generator 给覆盖了--overwritetrue/overwriteverbosetrue/verbose!--将当前pom的依赖项添加到生成器的类路径中--!--includeCompileDependenciestrue/includeCompileDependencies--/configurationdependencies!-- mysql的JDBC驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.19/version/dependencydependencygroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-core/artifactIdversion1.4.0/version/dependency/dependencies/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build
三、Mybatis-Generator 配置
上面配置的路径指向
src/main/resources/generator-configuration.xml我们在这个文件中加入配置
?xml version1.0 encodingUTF-8?
!DOCTYPE generatorConfigurationPUBLIC -//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtd
generatorConfiguration!-- 引入配置文件 --!--properties resourcejdbc.properties/properties--!-- 目标数据库 --!-- 一个数据库一个context, context子元素必须按照如下顺序property*、plugin*、commentGenerator?、jdbcConnection、javaTypeResolver?javaModelGenerator、sqlMapGenerator?、javaClientGenerator?、table--!--id : 随便填保证多个 context id 不重复就行defaultModelType 可以不填默认值 conditionalflat表示一张表对应一个potargetRuntime 可以不填默认值 MyBatis3常用的还有 MyBatis3Simple这个配置会影响生成的 dao 和 mapper.xml的内容targetRuntime MyBatis3Simple生成的 dao 和 mapper.xml接口方法会少很多只包含最最常用的--context idmyContext targetRuntimeMyBatis3property namejavaFileEncoding valueUTF-8/!-- 生成的pojo将implements Serializable --plugin typeorg.mybatis.generator.plugins.SerializablePlugin /!-- 为生成的pojo创建一个toString方法 --plugin typeorg.mybatis.generator.plugins.ToStringPlugin/!-- 生成的pojo增加了equals 和 hashCode方法--plugin typeorg.mybatis.generator.plugins.EqualsHashCodePlugin /!--生成mapper.xml时覆盖原文件--plugin typeorg.mybatis.generator.plugins.UnmergeableXmlMappersPlugin /!-- 自定义注释 --commentGenerator!-- 是否去除自动生成的注释 true是 false:否 --property namesuppressAllComments valuetrue/property namesuppressDate valuefalse/!--添加 db 表中字段的注释--property nameaddRemarkComments valuetrue//commentGenerator!-- 是否去除自动生成的注释 true是 false:否 --!--commentGeneratorproperty namesuppressAllComments valuefalse //commentGenerator--!--数据库连接信息驱动类、链接地址、用户名、密码 --jdbcConnection driverClasscom.mysql.cj.jdbc.DriverconnectionURLjdbc:mysql://localhost:3306/database?useSSLtrueamp;useUnicodetrueamp;characterEncodingutf8amp;serverTimezoneAsia/ShanghaiuserIdrootpasswordpassword!--高版本的 mysql-connector-java 需要设置 nullCatalogMeansCurrenttrue--!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题--property namenullCatalogMeansCurrent valuetrue//jdbcConnectionjavaTypeResolver!--类型解析器--!-- 默认false把jdbc decimal 和 numeric 类型解析为integer --!-- true把jdbc decimal 和 numeric 类型解析为java.math.bigdecimal--property nameforceBigDecimals valuefalse/!--默认falsefalse将所有 JDBC 的时间类型解析为 java.util.Datetrue将 JDBC 的时间类型按如下规则解析DATE - java.time.LocalDateTIME - java.time.LocalTimeTIMESTAMP - java.time.LocalDateTimeTIME_WITH_TIMEZONE - java.time.OffsetTimeTIMESTAMP_WITH_TIMEZONE - java.time.OffsetDateTime--property nameuseJSR310Types valuefalse//javaTypeResolver!-- java实体类路径 --javaModelGenerator targetPackagecom.bjrhc.boot.pojo targetProjectsrc/main/java!-- 是否让schema作为包后缀 默认是false会在 po 目录下在创建一个 “数据库名” 的文件夹生成的 po 会放在该文件夹下也就是说会多一层目录--property nameenableSubPackages valuefalse/!-- 从数据库返回的值被清理前后的空格--property nametrimStrings valuetrue//javaModelGenerator!-- 生成映射文件xml的包名和位置--sqlMapGenerator targetPackagecom.hhh.boot.mapper targetProjectsrc/main/resources!-- 是否让schema作为包后缀--property nameenableSubPackages valuefalse//sqlMapGenerator!-- 生成Mapper接口的包名和位置typeXMLMAPPER 会将接口的实现放在 mapper.xml中也推荐这样配置。typeANNOTATEDMAPPER接口的实现通过注解写在接口上面--javaClientGenerator typeXMLMAPPER targetPackagecom.hhh.boot.mappertargetProjectsrc/main/java!-- 是否让schema作为包后缀--property nameenableSubPackages valuefalse//javaClientGenerator!-- 用于自动生成代码的数据库表生成哪些表;schema为数据库名oracle需要配置mysql不需要配置。tableName为对应的数据库表名domainObjectName 是要生成的实体类名(可以不指定)其中 domainObjectName 不配置时它会按照帕斯卡命名法将表名转换成类名enableXXXByExample 默认为 true 为 true 会生成一个对应Example帮助类帮助你进行条件查询不想要可以设为false生成全部表tableName设为 %--table tableName%/tabletable schematable tableNametableName domainObjectNameAlar enableCountByExampletrueenableDeleteByExampletrue enableSelectByExampletrueenableUpdateByExampletrue/table/context
/generatorConfiguration
然后将配置文件里的信息修改为自己需要的
四、点击按钮
在右侧插件中找到这个点一下看到控制台出现build-success就生成好了