zoukankan      html  css  js  c++  java
  • Mybaits_逆向工程生成代码

    一:什么是逆行工程。
        MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

        当数据库表比较多的时候,重复的创建pojo对象和简单的数据库表的(CRUD)操作的mapper,效率低,官方给出了使用mybatis Generator用来根据数据库表逆向生成pojo和mapper文件,极大的方便开发。

        下面我们看如何使用Generator逆向生成文件。

    二:如何实现。
        1、在IDEA上创建空骨架maven工程,jar包。


        2、在Pom文件中添加maven依赖,这一个就好。

    <build>
    <finalName>mybatisnixiangPro</finalName>
    <plugins>
    <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
    </configuration>
    </plugin>
    </plugins>
    </build>


           
        3:修改generationConfig.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>
    <!--导入属性配置-->
    <properties resource="generator.properties"></properties>

    <!--指定特定数据库的jdbc驱动jar包的位置-->
    <classPathEntry location="${jdbc.driverLocation}"/>

    <context id="default" targetRuntime="MyBatis3">

    <!-- optional,旨在创建class时,对注释进行控制 -->
    <commentGenerator>
    <property name="suppressDate" value="true"/>
    <property name="suppressAllComments" value="true"/>
    </commentGenerator>

    <!--jdbc的数据库连接 -->
    <jdbcConnection
    driverClass="${jdbc.driverClass}"
    connectionURL="${jdbc.connectionURL}"
    userId="${jdbc.userId}"
    password="${jdbc.password}">
    </jdbcConnection>


    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>


    <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example
    targetPackage 指定生成的model生成所在的包名
    targetProject 指定在该项目下所在的路径
    -->
    <javaModelGenerator targetPackage="com.ssm.test.model"
    targetProject="src/main/java">

    <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
    <property name="enableSubPackages" value="false"/>
    <!-- 是否对model添加 构造函数 -->
    <property name="constructorBased" value="true"/>
    <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
    <property name="trimStrings" value="true"/>
    <!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法,只有构造方法 -->
    <property name="immutable" value="false"/>
    </javaModelGenerator>

    <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
    <sqlMapGenerator targetPackage="com.ssm.test.mapper"
    targetProject="src/main/java">
    <property name="enableSubPackages" value="false"/>
    </sqlMapGenerator>

    <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
    type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
    type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
    type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
    -->
    <javaClientGenerator targetPackage="com.ssm.test.dao"
    targetProject="src/main/java" type="XMLMAPPER">
    <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!--tableName:指定了表名
    domainObjectName:指定了实体类的名称
    -->
    <table tableName="user" domainObjectName="user"
    enableCountByExample="false" enableUpdateByExample="false"
    enableDeleteByExample="false" enableSelectByExample="false"
    selectByExampleQueryId="false">
    </table>


    </context>
    </generatorConfiguration>

    generator.properties文件:重点是mysql-connector-java-5.1.29.jar,必须要有这个,不然一切百搭
    jdbc.driverLocation=D:\repository\maven_repository\mysql\mysql-connector-java\5.1.29\mysql-connector-java-5.1.29.jar
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.connectionURL=jdbc:mysql:///test
    jdbc.userId=root
    jdbc.password=root

    4.更新maven,这时候就有
      

    mybatis-generator,运行这个文件,就大功告成了!

    多出来三个文件,userMapper,userMapper.xml,user.java

    是不是很神奇!

    mybatis generator官方网址http://www.mybatis.org/generator/

  • 相关阅读:
    各国语言缩写列表,各国语言缩写-各国语言简称,世界各国域名缩写
    How to see log files in MySQL?
    git 设置和取消代理
    使用本地下载和管理的免费 Windows 10 虚拟机测试 IE11 和旧版 Microsoft Edge
    在Microsoft SQL SERVER Management Studio下如何完整输出NVARCHAR(MAX)字段或变量的内容
    windows 10 x64系统下在vmware workstation pro 15安装macOS 10.15 Catelina, 并设置分辨率为3840x2160
    在Windows 10系统下将Git项目签出到磁盘分区根目录的方法
    群晖NAS(Synology NAS)环境下安装GitLab, 并在Windows 10环境下使用Git
    使用V-2ray和V-2rayN搭建本地代理服务器供局域网用户连接
    windows 10 专业版安装VMware虚拟机碰到的坑
  • 原文地址:https://www.cnblogs.com/bsw-zhen/p/11069737.html
Copyright © 2011-2022 走看看