mybatis学习(40):逆向工程的创建

简介: mybatis学习(40):逆向工程的创建

image.png

package com.geyao.generator;
 import java.io.File;
 import java.util.*;
 import org.mybatis.generator.api.MyBatisGenerator;
 import org.mybatis.generator.config.Configuration;
 import org.mybatis.generator.config.xml.ConfigurationParser;
 import org.mybatis.generator.internal.DefaultShellCallback;
 public class generator {
     public static void main(String[] args) throws Exception {
         List<String> warnings = new ArrayList<String>();
         boolean overwrite = true;
         // 指定配置文件
         File configFile = new File("src/generator.xml");
         ConfigurationParser cp = new ConfigurationParser(warnings);
         Configuration config = cp.parseConfiguration(configFile);
         DefaultShellCallback callback = new DefaultShellCallback(overwrite);
         MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
         myBatisGenerator.generate(null);
     }
 }
 配置文件generator.xml放在配置src文件下
<?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>
   <context id="DB2Tables" targetRuntime="MyBatis3">
     <commentGenerator>
         <!-- 是否去除自动生成的注释 -->
         <property name="suppressAllComments" value="true"/>
     </commentGenerator>
     <!-- Mysql数据库连接的信息:驱动类、连接地址、用户名、密码 -->
     <jdbcConnection driverClass="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://localhost:3306/blog_gp1701?serverTimeznotallow=GMT%2B8"
         userId="root"
         password="123">
     </jdbcConnection>
     <!-- Oracle数据库
         <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
             connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
             userId="yycg"
             password="yycg">
         </jdbcConnection> 
     -->
     <!-- 默认为false,把JDBC DECIMAL 和NUMERIC类型解析为Integer,为true时
     把JDBC DECIMAL 和NUMERIC类型解析为java.math.BigDecimal -->
     <javaTypeResolver >
         <property name="forceBigDecimals" value="false" />
     </javaTypeResolver>
     <!-- targetProject:生成POJO类的位置 -->
     <javaModelGenerator targetPackage="com.geyao.mybatis.pojo" targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
         <!-- 从数据库返回的值被清理前后的空格 -->
         <property name="trimStrings" value="true" />
     </javaModelGenerator>
     <!-- targetProject:mapper映射文件生成的位置 -->
     <sqlMapGenerator targetPackage="com.geyao.mybatis.mapper"  targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
     </sqlMapGenerator>
     <!-- targetProject:mapper接口生成的的位置 -->
     <javaClientGenerator type="XMLMAPPER" targetPackage="com.geyao.mybatis.mapper"  targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
     </javaClientGenerator>
     <!-- 指定数据表 
     <table schema="" tableName="tb_content"></table>
     <table schema="" tableName="tb_content_category"></table>
     <table schema="" tableName="tb_item"></table>
     <table schema="" tableName="tb_item_cat"></table>
     <table schema="" tableName="tb_item_desc"></table>
     <table schema="" tableName="tb_item_param"></table>
     <table schema="" tableName="tb_item_param_item"></table>
     <table schema="" tableName="tb_order"></table>
     <table schema="" tableName="tb_order_item"></table>
     <table schema="" tableName="tb_order_shipping"></table>
     <table schema="" tableName="tb_user"></table>
     -->
     <table schema="" tableName="blog"></table>
     <!-- 有些表的字段需要指定java类型 
     <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
       <property name="useActualColumnNames" value="true"/>
       <generatedKey column="ID" sqlStatement="DB2" identity="true" />
       <columnOverride column="DATE_FIELD" property="startDate" />
       <ignoreColumn column="FRED" />
       <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
     </table> -->
   </context>
 </generatorConfiguration>

image.pngimage.png

相关文章
|
1月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
25天前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
15 1
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
145 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
202 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
7月前
|
Java 数据库连接 数据库
Mybatis逆向工程笔记小结
Mybatis逆向工程笔记小结
|
3月前
|
Java 关系型数据库 数据库连接
mybatis-plus学习
MyBatis-Plus ,MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
51 5
|
4月前
|
安全 Java 数据库连接
后端框架的学习----mybatis框架(3、配置解析)
这篇文章详细介绍了MyBatis框架的核心配置文件解析,包括环境配置、属性配置、类型别名设置、映射器注册以及SqlSessionFactory和SqlSession的生命周期和作用域管理。
后端框架的学习----mybatis框架(3、配置解析)
|
4月前
|
Java 数据库连接 mybatis
后端框架的学习----mybatis框架(9、多对一处理和一对多处理)
这篇文章介绍了在MyBatis框架中如何处理多对一和一对多的关联查询,通过定义`<resultMap>`和使用`<association>`与`<collection>`元素来实现对象间的关联映射。
|
4月前
|
Java 数据库连接 测试技术
后端框架的学习----mybatis框架(8、lombok)
这篇文章介绍了如何在MyBatis框架中使用lombok库来简化Java实体类的编写,包括在IDEA中安装Lombok插件、在项目中导入lombok依赖以及在实体类上使用Lombok提供的注解。
|
4月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
下一篇
DataWorks