视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MyBatis的逆向工程的解析及简单教程(附代码)
2020-11-09 08:42:17 责编:小采
文档


MyBatis的逆向工程

一:什么是逆行工程。

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

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

二:简单教程

  • maven的pom.xml中添加插件

  •  <packaging>jar</packaging>
    <dependencies>
    
     <!-- 添加对mybatis的依赖 -->
     <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     </dependency>
     <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis-spring</artifactId>
     </dependency>
     <dependency>
     <groupId>com.github.miemiedev</groupId>
     <artifactId>mybatis-paginator</artifactId>
     </dependency>
     <dependency>
     <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper</artifactId>
     </dependency>
     <!-- MySql -->
     <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     </dependency>
     <!-- 连接池 -->
     <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
     </dependency>
    
     <dependency>
     <groupId>org.mybatis.generator</groupId>
     <artifactId>mybatis-generator-core</artifactId>
     <version>1.3.6</version>
     </dependency>
     </dependencies>
     <build>
     <plugins>
     <!-- mybatis逆向工程 -->
     <plugin>
     <groupId>org.mybatis.generator</groupId>
     <artifactId>mybatis-generator-maven-plugin</artifactId>
     <version>1.3.7</version>
     <configuration>
     <!--配置文件的位置-->
     <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
     <verbose>true</verbose>
     <overwrite>true</overwrite>
     </configuration>
     </plugin>
     </plugins>
     </build>
  • 创建配置文件 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>
     <!--引入数据库配置文件方便修改-->
     <properties resource="jdbc.properties"/>
     <!--数据库驱动文件 需要修改 TODO-->
     <classPathEntry
     location="/Volumes/Tool/JAVA_Tool/maven/Maven_Repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar"/>
    
     <context id="context" targetRuntime="MyBatis3Simple">
     <commentGenerator>
     <!-- 是否去除自动生成的注释,true:是;false:否 -->
     <property name="suppressAllComments" value="true"/>
     <property name="suppressDate" value="false"/>
     </commentGenerator>
     <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
     <jdbcConnection driverClass="${jdbc.driverClassName}"
     connectionURL="${jdbc.url}"
     userId="${jdbc.username}"
     password="${jdbc.password}"/>
     <!--默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,-->
     <!--为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
     <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
     <javaTypeResolver>
     <property name="forceBigDecimals" value="false"/>
     </javaTypeResolver>
     <!--生成PO类的位置 配置生成的实体包-->
     <!--targetPackage:生成的实体包位置,默认存放在src目录下-->
     <!--targetProject:相对路径 路径拼接结果 src/main/java/one/domain -->
     <javaModelGenerator targetPackage="one.domain" targetProject="src/main/java">
     <!-- enableSubPackages:是否让schema作为包的后缀 -->
     <property name="enableSubPackages" value="false"/>
     <!-- 从数据库返回的值被清理前后的空格 -->
     <property name="trimStrings" value="true"/>
     </javaModelGenerator>
     <!-- 实体包对应映射文件位置及名称,默认存放在src目录下 同上 -->
     <sqlMapGenerator targetPackage="MapperXml" targetProject="src/main/resources">
     <!-- enableSubPackages:是否让schema作为包的后缀 -->
     <property name="enableSubPackages" value="false"/>
     </sqlMapGenerator>
     <!--targetPackage:mapper接口生成的位置-->
     <javaClientGenerator targetPackage="one.mapper" type="XMLMAPPER" targetProject="src/main/java">
     <!-- enableSubPackages:是否让schema作为包的后缀 -->
     <property name="enableSubPackages" value="false"/>
     </javaClientGenerator>
     <!--配置表-->
     <!--schema:不用填写-->
     <!--tableName: 表名 TODO-->
     <!--enableCountByExample、enableSelectByExample、enableDeleteByExample、enableUpdateByExample、selectByExampleQueryId:-->
     <!--去除自动生成的注释例子-->
     <table tableName="tb_user" enableCountByExample="false" enableDeleteByExample="false"
     enableSelectByExample="false" enableUpdateByExample="false"/>
     </context>
    </generatorConfiguration>
  • 运行Generator类即可生成

  • 我已经做好项目了 下载即可运行

    相关文章:

    MyBatis入门(七)---逆向工程

    Spring+SpringMVC+MyBatis深入学习及搭建——MyBatis逆向工程

    相关视频:

    MySQLi面向过程极速入门

    下载本文
    显示全文
    专题