`
- 浏览:
32699 次
-
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
相关推荐
生成的代码可以直接导入到你的项目中,通过MyBatis的配置和Spring等框架的集成,你可以快速地在项目中使用这些代码进行数据库操作。 总结,MyBatis Generator是MyBatis框架的一个强大工具,它简化了数据库操作的...
在IT行业中,MyBatis是一个广泛应用的持久层框架,它提供了强大的映射功能,使得Java开发者可以方便地...在实际开发过程中,结合MBG与其他工具,如Maven或Gradle,可以进一步提升自动化程度,实现持续集成和持续交付。
总之,这个"MyBatis+Spring+Maven的简单整合Demo"旨在帮助你理解和实践这三大技术的集成,提升你的Java Web开发技能。通过这个示例,你可以了解到如何有效地管理项目依赖、配置持久层框架和控制层框架,以及日志记录...
综上所述,"mybatis自动生成工具"结合MyBatis、Spring框架和Maven,通过自动化代码生成,有效地提高了开发效率,降低了出错概率,使得开发人员能够更加专注于业务逻辑的实现,而不必过于关注底层的数据库操作和代码...
SSM框架是Java Web开发中常用的三大框架集成,即Spring、SpringMVC和Mybatis的组合,它们各自负责不同的职责,协同工作以构建强大的企业级应用。Maven作为项目管理和构建工具,使得依赖管理和构建流程更为简洁。在...
Spring、SpringMVC、Mybatis、Velocity和Maven是Java Web开发中常用的一组技术栈,它们各自在软件开发的不同层面发挥着重要作用。这个压缩包文件的标题和描述表明,它提供了一个集成这些技术的演示项目,下面我们将...
在给定的“mybatis自动生成代码工具.rar”压缩包中,包含了一个用于自动生成 MyBatis 代码的配置文件“generator.xml”。这个配置文件是整个代码生成过程的核心,开发者需要在此修改数据库连接信息和要生成代码的...
1.Mybatis Plus代码生成器 1.1.自定义配置模板 1.2.自定义表-实体映射信息 1.3.多数据源管理 1.4.操作记忆功能 1.5.操作化繁为简 2.工程化(maven,spring boot) 2.1.生成maven工程 2.2.生成...
这个"Spring+Mybatis+MySql+Maven 简单的事务管理案例"是一个典型的Java Web项目,旨在演示如何在这些技术之间集成并实现事务管理。下面将详细讲解这四个技术及其在事务管理中的应用。 **Spring框架** 是一个全面的...
在本文中,我们将深入探讨如何在Spring Boot项目中集成MyBatis并利用代码生成工具来提升开发效率。Spring Boot以其简洁的配置和快速的应用启动能力,已成为Java开发者的首选框架之一。而MyBatis作为一款优秀的持久层...
在SSM整合中,MyBatis作为数据库访问层,与Spring进行无缝集成,通过Spring的DataSource和SqlSessionFactoryBean配置,实现了数据库操作的便捷和灵活。 在本项目中,"创建Maven模块项目.docx"文档很可能是指导如何...
本项目以"Spring+SpringMVC+MyBatis+Shiro+Maven"为核心技术栈,旨在提供一个可直接使用的集成解决方案。接下来,我们将深入探讨这些技术及其集成的关键点。 首先,Spring框架作为Java企业级应用的核心,提供了依赖...
Maven作为项目管理和构建工具,它管理项目的依赖关系,自动构建项目,生成各种工程文件,如JAR、WAR等,使得团队协作和项目构建过程规范化。 至于MySQL,它是广泛使用的开源关系型数据库管理系统,因其高效、稳定和...
通过这个"idea整合springboot+mybatis逆向生成demo",开发者不仅可以学习到如何在Idea中集成Spring Boot、Gradle和MyBatis,还能掌握使用逆向工程提升开发效率的方法。对于初学者而言,这是一个很好的起点,而对于有...
在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了实现一个名为TimeSheet的应用程序,该应用程序主要用于管理和追踪公司员工的时间分配情况...
【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...
1. 使用MyBatis Generator(MBG):MBG是一个代码生成工具,可以自动根据数据库表结构生成Mapper.xml、DAO接口和Model实体类。首先,需要在pom.xml或build.gradle文件中添加MBG的依赖,并配置相关的插件。在MBG的...
【描述】"这是一个基于Spring Boot、MyBatis、Oracle数据库和Maven构建的简单应用示例,展示了如何在实际项目中将这些技术有效地集成。" 【知识点详解】 1. **Spring Boot** - Spring Boot是Spring框架的扩展,...
这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且标注为可运行状态,意味着它提供了一个完整的开发环境,方便开发者理解和学习如何将这些框架协同工作。...
4. **反向工程(逆向生成代码)**:Mybatis提供反向工程工具,可以根据数据库表结构自动生成对应的Mapper接口、Mapper XML文件和Model类。这极大地减少了手动编写这些基础代码的工作量,让开发者能更专注于业务逻辑...