`
- 浏览:
31453 次
-
mybatis自动生成代码(maven工程)集成spring
上一个公司的人离职了,接手了他负责的东西,由于工作需要,要重新做,他之前用的是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:现在我越来越能体会到,问题出现了应该感到高兴的心情,因为又要长知识了。最近要静心下来好好学习。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
1.Mybatis Plus代码生成器 1.1.自定义配置模板 1.2.自定义表-实体映射信息 1.3.多数据源管理 1.4.操作记忆功能 1.5.操作化繁为简 2.工程化(maven,spring boot) 2.1.生成maven工程 2.2.生成...
用maven整合ssm框架,不存在jar包缺失导致无法运行的问题。 项目中有mybatis逆向工程代码(根据数据库表单生成文件)。
集成了ssm+自动生成代码的jar。方便使用。 下载后打开txt可看到提示
Mybatis已经有开发了一个“mybatis-generator-maven-plugin”插件供大众使用了,但该插件仅能通过配置固定的常量参数来使用数据源信息,无法满足从spring-cloud-config配置文件中读取数据源配置信息来生成代码。...
一、建立数据库及新表 二、maven依赖pom.xml ...所以,该整合,只需要将 SqlSessionFactory 的对象生成器 SqlSessionFactoryBean 注册在 Spring 容器中,再将其注入给 Dao 的实现类即可完成整合
使用maven创建spring mvc,整合了redis、swagger2、mybatis,其中数据库连接池使用了Druid,具有强大的监控和扩展功能,swagger提供API接口,可测试接口,此外还整合了mybatis generator,反向生成代码
基于 springmvc mybatis spring 框架,maven集成,代码配置生成,方便快速开发
用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+IntelliJ IDEA+maven 项目技术(必填) Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis 数据库文件 压缩包内 jar包文件 maven搭建 ...
实现了一个功能完善的在线论坛,旨在为校园内...构建工具:Apache Maven 集成开发工具: IntelliJ IDEA 2021 数据库:MySQL、Redis 应用服务器:Apache Tomcat 框架:Spring、SpringMVC、Mybatis、SpringBoot 版本控制
lombok、log4j2、validation、hutool、commons-lang3、fastjson、poi、knife4j依赖swagger、mysql driver、druid、mybatis及代码生成相关依赖、spring-aop(aspectjweaver)、pagehelper、minio、commons 实现功能...
集成Swagger2,HTTP接口自动生成接口文档 集成常用工具,如复印机,CsvUtils,DateUtils…… 运行 创建项目 运行以下脚本即可创建项目,脚本中包含${groupId} , ${artifactId} , ${version} , ${package} 4个变量...
# demoWeb 一个基于SpringMVC的web框架 ...集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper doc内有相关文档
用Redis做中间缓存,缓存数据 实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 ...
文档生成工具可以自动生成代码注释文档,便于团队内外理解和使用项目代码。 API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等...
Spring核心,Spring MVC和MyBatis的集成 通过CRUD界面管理用户 MyBatis的代码生成器 您可以从找到代码生成器 在mybatis-generator的文件夹中,可以找到generator.xml和mybatis-generator-core-1.3.2.jar。 将这两个...
mybatis-plus-generator|[基于mybatisplus代码自动生成](https://github.com/smltq/spring-boot-demo/blob/master/mybatis-plus-generator) mybatis-plus-crud|[基于mybatisplus实现数据库增、册、改、查]...
集成Swagger / Knife4j,自动生成api文档 集成JWT,Shiro权限控制 集成式Redis缓存 集成HikariCP连接池,最后是一个可靠的高性能JDBC连接池。 集成的Spring Boot Admin,实时检测项目操作 集成了maven-assembly-...
spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架。是易于使用,快速,高效,功能丰富,开源的spring boot脚手架。 spring-boot-plus前后端分离的框架,可以让用户专注于后端服务。 spring-...
Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的...
Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的...