mybatis generator

2023-11-13


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>
	<!-- 连接数据库jar 这里选择自己本地位置
    <classPathEntry location="D:\workspace\mvn_repo\cn\easyproject\ojdbc6\12.1.0.2.0\ojdbc6-12.1.0.2.0.jar" />-->
	<context id="testTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/xxx" userId="root"
			password="xxxx">
		</jdbcConnection>
		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
			NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="com.xxxx.pojo"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="com.xxxx.mapper" 
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.xxxx.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="test" tableName="tb_item" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true"
               enableSelectByExample="true" selectByExampleQueryId="true" domainObjectName="tbItem"  >
		-->
		</context>
</generatorConfiguration>

GeneratorSqlmap.java



import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorSqlmap {

	public void generator() throws Exception{

		List<String> warnings = new ArrayList<String>();
		boolean overwrite = true;
		//指定 逆向工程配置文件
		File configFile = new File("generatorConfig.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);

	} 
	public static void main(String[] args) throws Exception {
		try {
			GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
			generatorSqlmap.generator();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}

log4j.properties

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

lib

在这里插入图片描述

maven pom

<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>
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.37</version>
		</dependency>
	</dependencies>

</plugin>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis generator 的相关文章

  • MSRA实习记

    文章目录 前言 时间线 实习生集体 办公楼 工作环境 饮食 娱乐活动 薪酬待遇 住宿 总结 前言 我是哈工大2018级本科生 由于大三课程枯燥 选择到北京实习 偶然看到了诗昭姐的招聘启事 幸运地获得了她的认可 获得了人生第一份实习 加入了D

随机推荐

  • Excel分割字符串

    在数据处理中我们经常会遇到分割字符的情况 比如读取csv文件 Excel提供了可视化的字符串分割方法 1 按分隔符 分割字符串 2 选择用 逗号 分割 3 结果如图
  • 自动化运维---ansible常用模块之文件操作(file&blockinfile&lineinfile模块)

    自动化运维 ansible常用模块之文件操作 file blockinfile lineinfile模块 文章目录 自动化运维 ansible常用模块之文件操作 file blockinfile lineinfile模块 1 file模块
  • 7. QML类中对象树的创建和销毁顺序是这样的

    简述 有下面一段代码 通常会有需求在Component onCompleted信号之后做一些初始化操作 那这些组件初始化完成的顺序是怎样的 同时有创建完成的信号 也有对应销毁完成的信号 类似C 中的构造和析构函数 但我们这里叫信号处理程序
  • java三种分页查询的方式

    第一种 分页 需要查询出总数 第二种分页如果是以id为主键并且是递增的情况 第三种直接用do while进行分页查询 不需要查询总个数和最大最小值 mybatis plus分页 第四种分页 for循环分页
  • Vue指令学习

    目录 v text 设置标签的内容 v html 设置元素的innerHTML v on 为元素绑定事件 v show 根据布尔值控制元素的样式为显示或隐藏 v if 根据布尔值控制dom为显示或隐藏 v bind 在vue中为元素绑定属性
  • SQLite 如何在Windows下编译?

    SQLite 如何在Windows下编译 发表时间 2007 6 13 12 44 00 评论 打印 字体 大 中 小 本文链接 http blog pfan cn lounger 26745 html 复制链接 分享到 0 标签 C C
  • 计算机中¥符号按哪个键,电脑键盘符号快捷键大全 电脑键盘上每个键的作用?...

    电脑键盘符号快捷键大全 电脑键盘符号怎么打 很多朋友还不太清楚电脑的各个符号要怎么打 快捷键是什么呢 那么下面就一起来看看电脑键盘符号大全吧 电脑键盘符号怎么打 电脑键盘符号大全 常见的标点符号 分号 书名号 双引号 单引号 破折号 竖线
  • sublime简用

    1 使用goto anything 快速查询各种文件 可以快速定位CSS中选择器 或JavaScript中的function 2 其中的输入时选取简化的输入则可 bgc就代表background color 3 多行游标 光标放在单词中 然
  • hashmap为什么8转成红黑树_深入分析HashMap的红黑树实现方式

    在分析jdk1 8的HashMap实现原理之前 咱们先可以了解一下红黑树的设计 相比jdk1 7的HashMap而言 jdk1 8最重要的就是引入了红黑树的设计 当冲突的链表长度超过8个的时候 链表结构就会转为红黑树结构 01 故事的起因
  • Mysql——压缩包方式安装教程

    一 Mysql压缩包下载方式 zip版 5 7及8 0 的下载需到官方网站下载 不同版本对应能安装在不同的操作系统下 本次介绍的是mysql 8 0 30 winx64在win10下的安装方式 下载网址 MySQL Download MyS
  • android模拟器与宿主机通讯

    android模拟器与PC的端口映射 一 概述 Android系统为实现通信将PC电脑IP设置为10 0 2 2 自身设置为127 0 0 1 而PC并没有为Android模拟器系统指定IP 所以PC电脑不能通过IP来直接访问Android
  • Mysql增强半同步模式_MySQL增强半同步的搭建实验,和一些参数的个人理解

    环境信息 role ip port hostname master 192 168 188 101 4306 mysqlvm1 slave 192 168 188 201 4306 mysqlvm1 1 5306 6306 7306 MyS
  • eclipse搜索类快捷键

    习惯的编辑器可以提高编程效率 熟悉的快捷键可以提高工作效率 本文更新eclipse中常用的搜索快捷键 打开资源快捷键 Ctrl Shift R 通过在搜索框中输入名字可以很方便的在项目或工作空间中找某个文件 支持模糊查询功能 例如输入文件的
  • Linux防火墙

    关于linux系统防火墙 centos5 centos6 redhat6系统自带的是iptables防火墙 centos7 redhat7自带firewall防火墙 ubuntu系统使用的是ufw防火墙 必要操作 linux系统防火墙开放相
  • AOP之5种增强方法应用范例

    林炳文Evankaka原创作品 转载请注明出处http blog csdn net evankaka Spring AOP 提供了 5 种类型的通知 它们分别是 Before Advice 前置通知 After Returning Advi
  • PyTorch 手把手搭建神经网络 (MNIST)

    推荐下我自己建的Python学习群 856833272 群里都是学Python的 如果你想学或者正在学习Python 欢迎你加入 大家都是软件开发党 不定期分享干货 还有免费直播课程领取 包括我自己整理的一份2021最新的Python进阶资
  • python写入文件后换行_python写入文件自动换行问题的方法

    现在需要一个写文件方法 将selenium的脚本运行结果写入test result log文件中 首先创建写入方法 def write result str writeresult file r D eclipse4 4 1 script
  • 一些文件头

    由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式 当然这就是一些播放器识别文件的方法 1 从Ultra edit 32中提取出来的 JPEG jpg 文件头 FFD8FF PNG png 文件头 89504E47 G
  • 浅析进程与线程之间的区别

    文章目录 浅析进程与线程之间的区别 从最普遍的答案出发 什么是计算机资源 计算资源 存储资源 I O设备资源 什么是进程 线程 操作系统怎样给进程分配资源的 操作系统怎样调度进 线程的 进程的上下文切换 为什么需要线程 参考链接 浅析进程与
  • mybatis generator

    文章目录 generatorConfig xml GeneratorSqlmap java log4j properties lib maven pom generatorConfig xml