当前位置: 首页>编程语言>正文

springboot生成随机盐 spring自动生成代码

[size=large]
上一个公司的人离职了,接手了他负责的东西,由于工作需要,要重新做,他之前用的是mybatis自动生成代码,现在数据库做了调整,又不想改数据库的框架,决定自己来一次,
以前学习的时候只是在myeclipse中用过自动生成的操作,现在是在eclipse中的maven工程里,于是研究了一下相关的东西。

知识还是边学习边实践比较好啊,天天自己学习,看文字还是不行滴!这是最近以来的深刻体会。

一开始找了ibatis的abator的生成器,很古老了,就不说了
然后找了mybatis的generator,也还行。
最后决定用与spring的集成版,将学习经验分享给大家。

首先在maven工程的pom.xml中添加mybatis的自动生成器的插件依赖,如下:

<!-- 利用mybatis生成代码 --> 

 <plugin> 

 <groupId>org.mybatis.generator</groupId> 

 <artifactId>mybatis-generator-maven-plugin</artifactId> 

 <version>1.3.1</version> 

 <configuration> 

 <verbose>true</verbose> 

 <overwrite>true</overwrite> 

 </configuration> 

 </plugin>




然后编写一个默认需要的文件,名字为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> 
<!--驱动包的绝对路径--> 
 <classPathEntry location="E:\mysqljar\mysql-connector-java-5.1.22.jar" /> 
 <context id="MYSQlTable" targetRuntime="MyBatis3"> 
<!--关于数据库的相关配置,相信一般的同学都能看懂就不多说 --> 
 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
 connectionURL="jdbc:mysql://127.0.0.1:3306/smgp_db" 
 userId="root" 
 password="root"> 
 </jdbcConnection> 
<!--默认是false 是否强制使用BigDecimal来表示所有的十进制和数值字段。 --> 
 <javaTypeResolver > 
 <property name="forceBigDecimals" value="false" /> 
 </javaTypeResolver> 
 <!-- targetProject:自动生成代码的位置 --> 
<!--targetPackage,是生成文件所在的包路径--> 
 <!--targetProject,是相对于本xml配置文件的相对路径,是targetPackage包路径的父级目录。--> 
 <javaModelGenerator targetPackage="cn.thinkjoy.testa.entity" targetProject="generator/java/"> 
<!-- enableSubPackages:是否让schema作为包的后缀 --> 
 <property name="enableSubPackages" value="true" /> 
 <!-- 从数据库返回的值被清理前后的空格 --> 
 <property name="trimStrings" value="true" /> 
 </javaModelGenerator> 
<!-- mapper文件--> 
 <sqlMapGenerator targetPackage="mapper" targetProject="generator/resources/"> 
 <property name="enableSubPackages" value="true" /> 
 </sqlMapGenerator> 
 <!-- ANNOTATEDMAPPER,MIXEDMAPPER, --> 
 <javaClientGenerator type="XMLMAPPER" targetPackage="cn.thinkjoy.testa.dao" targetProject="generator/java/"> 
 <property name="enableSubPackages" value="true" /> 
 </javaClientGenerator> 
<!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 --> 
 <table tableName="smgp_account" domainObjectName="Account" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="business_type" domainObjectName="Business" > 
 <property name="useActualColumnNames" value="true"/> 
 <generatedKey column="ID" sqlStatement="MYSQL" identity="true" /> 
 </table> 
 <table tableName="smgp_batch" domainObjectName="Batch" > 
 <property name="useActualColumnNames" value="true"/> 
 <generatedKey column="id" sqlStatement="MySql" identity="true" /> 
 <columnOverride column="mode" javaType="Integer" /> 
 <columnOverride column="is_report" javaType="Integer" /> 
 <columnOverride column="handle" javaType="Integer" /> 
 </table> 
 <table tableName="smgp_batch_history" domainObjectName="BatchHistory" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_deliver" domainObjectName="Deliver" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_deliver_history" domainObjectName="DeliverHistory" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_prepare" domainObjectName="Prepare" > 
 <property name="useActualColumnNames" value="true"/> 
 <generatedKey column="id" sqlStatement="MySql" identity="true" /> 
 <columnOverride column="is_report" javaType="Integer" /> 
 <columnOverride column="handle" javaType="Integer" /> 
 <columnOverride column="ptype" javaType="Integer" /> 
 </table> 
 <table tableName="smgp_report" domainObjectName="Report" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_report_history" domainObjectName="ReportHistory" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_report_info" domainObjectName="ReportInfo" > 
 <property name="useActualColumnNames" value="true"/> 
 <columnOverride column="handle" javaType="Integer" /> 
 <columnOverride column="ptype" javaType="Integer" /> 
 </table> 
 <table tableName="smgp_report_info_history" domainObjectName="ReportInfoHistory" > 
 <property name="useActualColumnNames" value="true"/> 
 <columnOverride column="handle" javaType="Integer" /> 
 <columnOverride column="ptype" javaType="Integer" /> 
 </table> 
 <table tableName="smgp_send" domainObjectName="Send" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_send_noreport" domainObjectName="SendNoReport" > 
 <property name="useActualColumnNames" value="true"/> 
 </table> 
 <table tableName="smgp_permit" domainObjectName="Permit" > 
 <property name="useActualColumnNames" value="true"/> 
 <generatedKey column="id" sqlStatement="MySql" identity="true" /> 
 </table> 
 <table tableName="smgp_phones" domainObjectName="Phones" > 
 <property name="useActualColumnNames" value="true"/> 
 <generatedKey column="id" sqlStatement="MySql" identity="true" /> 
 <columnOverride column="pcount" javaType="Integer" /> 
 <columnOverride column="ptype" javaType="Integer" /> 
 <columnOverride column="pcodes" javaType="String" /> 
 <columnOverride column="phones" javaType="String" /> 
 </table> 
 </context> 
</generatorConfiguration>



注意:这个generatorConfig.xml默认的位置是放在src/main/resources下面的。


接下来:用命令生成相应的文件放在相应的目录,提前建立好生成目录放的位置,比如我生成的代码会放到generator的下面,新建一个 generator包,

打开一个dos窗口,进入到工程目录下的该工程下,例如我的工程testa在e盘下的workspace下面,则是cd e:\workspace\testa
然后执行如下命令: mvn org.mybatis.generator:mybatis-generator-maven-plugin:1.3.1:generate
如果出现build success,则成功,会看到在generator下面出现了java和resources文件夹,并且里面有我们生成的包和文件。

这就大功告成了,将文件放到我们开发的包下,使用吧。


ps:现在我越来越能体会到,问题出现了应该感到高兴的心情,因为又要长知识了。最近要静心下来好好学习。

[/size]


https://www.xamrdz.com/lan/5cf1951261.html

相关文章: