spring boot集成mybatis 自动生成实体类和mapper文件、Dao层详解编程语言

1.创建spring boot集成mybatis请见

2.在resources目录下新键mybatis-generator文件夹,并在文件夹中新键mybatis-generatorConfig.xml文件和mybatis-generatorinit.properties两个文件

mybatis-generatorinit.properties

jdbc_driver=oracle.jdbc.driver.OracleDriver 
jdbc_url=jdbc:oracle:thin:@loclhost:1521:XE 
jdbc_user=hr 
jdbc_password=hr 
#实体类所在的主路径 到项目的Java目录下就可以 
models=D://Project//zpark//src//main//java   
#配置文件所在的主路径 到项目的resources目录下就可以 
resources=D://Project//zpark//src//main//resources 
#dao层所在的主路径 到项目的Java目录下就可以 
dao=D://Project//zpark/src//main//java

mybatis-generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE generatorConfiguration 
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 
<!-- 配置生成器 --> 
<generatorConfiguration> 
<!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e --> 
<!-- 引入配置文件 --> 
<properties resource="mybatis-generator/mybatis-generatorinit.properties"/> 
<!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 --> 
<!--<classPathEntry location="D://Oracle/******.jar" /> --> 
<!-- 一个数据库一个context --> 
<!--defaultModelType="flat" 大数据字段,不分表 --> 
<context id="MysqlTables" targetRuntime="MyBatis3Simple" defaultModelType="flat"> 
<!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表; 
一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 --> 
<property name="autoDelimitKeywords" value="true" /> 
<!-- 生成的Java文件的编码 --> 
<property name="javaFileEncoding" value="utf-8" /> 
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; --> 
<property name="beginningDelimiter" value="`" /> 
<property name="endingDelimiter" value="`" /> 
<!-- 格式化java代码 --> 
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/> 
<!-- 格式化XML代码 --> 
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/> 
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" /> 
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" /> 
<!-- 注释 --> 
<commentGenerator > 
<property name="suppressAllComments" value="false"/><!-- 是否取消注释 --> 
<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳--> 
</commentGenerator> 
<!-- jdbc连接 --> 
<jdbcConnection driverClass="${jdbc_driver}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_password}" /> 
<!-- 类型转换 --> 
<javaTypeResolver> 
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --> 
<property name="forceBigDecimals" value="false"/> 
</javaTypeResolver> 
<!-- 生成实体类地址 --> 
<javaModelGenerator targetPackage="com.zpark.model" targetProject="${models}" > 
<property name="enableSubPackages" value="false"/> 
<property name="trimStrings" value="true"/> 
</javaModelGenerator> 
<!-- 生成mapxml文件 --> 
<sqlMapGenerator targetPackage="mapper" targetProject="${resources}" > 
<property name="enableSubPackages" value="false" /> 
</sqlMapGenerator> 
<!-- 生成mapxml对应client,也就是接口dao --> 
<javaClientGenerator targetPackage="com.zpark.dao" targetProject="${dao}" type="XMLMAPPER" > 
<property name="enableSubPackages" value="true" /> 
</javaClientGenerator> 
<!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 --> 
<!--如果想生成一个表则tableName="table_name"--> 
<table tableName="%" 
enableCountByExample="true" 
enableUpdateByExample="true" 
enableDeleteByExample="true" 
enableSelectByExample="true" 
selectByExampleQueryId="true"> 
<property name="user" value="false" /> 
<!-- 数据库表主键 --> 
<generatedKey column="id" sqlStatement="Oracle" identity="true" /> 
</table> 
</context> 
</generatorConfiguration>

3.配置好之后,在idea右侧选择Maven,找到Plugins,打开mybatis-generator,双击mybatis-generator:generate,运行结束之后,在相应的路径就会生成相应的类

spring boot集成mybatis 自动生成实体类和mapper文件、Dao层详解编程语言

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18573.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论