`

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

分享到:
评论

相关推荐

    mybatis自动生成代码

    生成的代码可以直接导入到你的项目中,通过MyBatis的配置和Spring等框架的集成,你可以快速地在项目中使用这些代码进行数据库操作。 总结,MyBatis Generator是MyBatis框架的一个强大工具,它简化了数据库操作的...

    myBatis自动生成代码案例

    在IT行业中,MyBatis是一个广泛应用的持久层框架,它提供了强大的映射功能,使得Java开发者可以方便地...在实际开发过程中,结合MBG与其他工具,如Maven或Gradle,可以进一步提升自动化程度,实现持续集成和持续交付。

    MyBatis+Spring+Maven的简单整合Demo

    总之,这个"MyBatis+Spring+Maven的简单整合Demo"旨在帮助你理解和实践这三大技术的集成,提升你的Java Web开发技能。通过这个示例,你可以了解到如何有效地管理项目依赖、配置持久层框架和控制层框架,以及日志记录...

    mybatis自动生成工具

    综上所述,"mybatis自动生成工具"结合MyBatis、Spring框架和Maven,通过自动化代码生成,有效地提高了开发效率,降低了出错概率,使得开发人员能够更加专注于业务逻辑的实现,而不必过于关注底层的数据库操作和代码...

    idea创建ssm(spring+springMVC+mybatis+mysql+maven)基础登录框架源码含sql表语句

    SSM框架是Java Web开发中常用的三大框架集成,即Spring、SpringMVC和Mybatis的组合,它们各自负责不同的职责,协同工作以构建强大的企业级应用。Maven作为项目管理和构建工具,使得依赖管理和构建流程更为简洁。在...

    Spring+SpringMVC+Mybatis+Velocity+Maven demo

    Spring、SpringMVC、Mybatis、Velocity和Maven是Java Web开发中常用的一组技术栈,它们各自在软件开发的不同层面发挥着重要作用。这个压缩包文件的标题和描述表明,它提供了一个集成这些技术的演示项目,下面我们将...

    mybatis自动生成代码工具.rar

    在给定的“mybatis自动生成代码工具.rar”压缩包中,包含了一个用于自动生成 MyBatis 代码的配置文件“generator.xml”。这个配置文件是整个代码生成过程的核心,开发者需要在此修改数据库连接信息和要生成代码的...

    Mybatis Plus代码生成器 IDEA 插件版 (版本v0.0.6)

    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 简单的事务管理案例.rar

    这个"Spring+Mybatis+MySql+Maven 简单的事务管理案例"是一个典型的Java Web项目,旨在演示如何在这些技术之间集成并实现事务管理。下面将详细讲解这四个技术及其在事务管理中的应用。 **Spring框架** 是一个全面的...

    Springboot集成MyBatis自动生成代码工具源码

    在本文中,我们将深入探讨如何在Spring Boot项目中集成MyBatis并利用代码生成工具来提升开发效率。Spring Boot以其简洁的配置和快速的应用启动能力,已成为Java开发者的首选框架之一。而MyBatis作为一款优秀的持久层...

    Maven模块项目。整合spring+springmvc+mybatis

    在SSM整合中,MyBatis作为数据库访问层,与Spring进行无缝集成,通过Spring的DataSource和SqlSessionFactoryBean配置,实现了数据库操作的便捷和灵活。 在本项目中,"创建Maven模块项目.docx"文档很可能是指导如何...

    Spring+SpringMVC+MyBatis+Shiro+Maven集成web项目

    本项目以"Spring+SpringMVC+MyBatis+Shiro+Maven"为核心技术栈,旨在提供一个可直接使用的集成解决方案。接下来,我们将深入探讨这些技术及其集成的关键点。 首先,Spring框架作为Java企业级应用的核心,提供了依赖...

    基于springmvc+mybatis+spring+maven+mysql的网上租车系统

    Maven作为项目管理和构建工具,它管理项目的依赖关系,自动构建项目,生成各种工程文件,如JAR、WAR等,使得团队协作和项目构建过程规范化。 至于MySQL,它是广泛使用的开源关系型数据库管理系统,因其高效、稳定和...

    idea整合springboot+mybatis逆向生成demo

    通过这个"idea整合springboot+mybatis逆向生成demo",开发者不仅可以学习到如何在Idea中集成Spring Boot、Gradle和MyBatis,还能掌握使用逆向工程提升开发效率的方法。对于初学者而言,这是一个很好的起点,而对于有...

    基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建

    在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了实现一个名为TimeSheet的应用程序,该应用程序主要用于管理和追踪公司员工的时间分配情况...

    maven-spring-mybatis

    【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...

    mybatis自动生成mapper.xml文件

    1. 使用MyBatis Generator(MBG):MBG是一个代码生成工具,可以自动根据数据库表结构生成Mapper.xml、DAO接口和Model实体类。首先,需要在pom.xml或build.gradle文件中添加MBG的依赖,并配置相关的插件。在MBG的...

    springboot+mybatis+oracle+maven

    【描述】"这是一个基于Spring Boot、MyBatis、Oracle数据库和Maven构建的简单应用示例,展示了如何在实际项目中将这些技术有效地集成。" 【知识点详解】 1. **Spring Boot** - Spring Boot是Spring框架的扩展,...

    spring4.3.10+springMVC+mybatis Maven框架集成代码

    这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且标注为可运行状态,意味着它提供了一个完整的开发环境,方便开发者理解和学习如何将这些框架协同工作。...

    maven整合Spring MVC Mybatis(包括mybatis反向生产代码*适合新手,高手请自动忽略)

    4. **反向工程(逆向生成代码)**:Mybatis提供反向工程工具,可以根据数据库表结构自动生成对应的Mapper接口、Mapper XML文件和Model类。这极大地减少了手动编写这些基础代码的工作量,让开发者能更专注于业务逻辑...

Global site tag (gtag.js) - Google Analytics