原文出处:https://blog.csdn.net/shuoshuo_12345/article/details/80626241,本文只是个人总结而已!

方法1:在pom文件中添加依赖

只需在搭建好的项目里创建一个包用于生成就好:

1、需要用到的jar包有:

        <dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>

2、需要用到的配置文件有:

generatorConfigxml中配置代码如下:(表自行设计,设计好以后套用就好了)

<?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:\rxyb\workspace\testWeb\WebContent\WEB-INF\lib\mysql-connector-java-5.1.38.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
      <!--如果生成日期,会造成即便修改一个字段,整个实体所有属性都发生变化,不利于版 E制,所以设置为true -->
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/testconnection" userId="root" password="">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="test.domain" targetProject="src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="test.mapping" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
//enableCountByExample,enableUpdateByExample,enableDeleteByExample,enableSelectByExample,selectByExampleQueryId
这些表示是否产生example类,产生则可以使用他们代替手写sql语句!!!,对应mapper.xml文件也会不一样(可以百度查看如何使用genarater生成的example类)
</generatorConfiguration>

3、需要写一个main方法,用于运行generator.xml文件:

代码如下:

import java.io.File;
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.internal.DefaultShellCallback; public class TestMysql {
public static void main(String[] args) {
List<String> war=new ArrayList<>();
Boolean ovr=true;
File file=new File("res/generatorConfigxml.xml");
ConfigurationParser cp=new ConfigurationParser(war);
try {
Configuration config=cp.parseConfiguration(file);
DefaultShellCallback back=new DefaultShellCallback(ovr);
MyBatisGenerator my=new MyBatisGenerator(config, back, war);
my.generate(null);
for(String s:war) {
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}
} }

方法2:在pom文件中加入插件

1,引入插件

2,在resources下,创建一个generatorConfig.xml配置文件并修改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">
<!-- mybatis-generator的核心配置文件 -->
<generatorConfiguration>
<classPathEntry location="E:\maven\repository\mysql\mysql-connector-java\5.1.25\mysql-connector-java-5.1.25.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3">
    <commentGenerator>
      <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
      <property name="suppressDate" value="true"/>
      <!-- 是否去除自动生成的注释 true:是 : false:否 -->
      <property name="suppressAllComments" value="false"/>
  </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/cssystem" userId="root" password="root">
<!--设置为 true 可以获取 tables 信息, 解决生成文件缺少 xxxByPrimaryKey 的问题 -->
<property name="useInformationSchema" value="true"/>
</jdbcConnection>
<!--指定生成的类型为java类型,避免数据库中number等类型字段 -->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--自动生成的实体的存放包路径 -->
<javaModelGenerator targetPackage="com.kb.c_s_system.bean" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" />
</javaModelGenerator>
<!--自动生成的*Mapper.xml文件存放路径 -->
<sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--自动生成的*Mapper.java存放路径 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.kb.c_s_system.dao" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 映射配置 -->
<!-- <table tableName="c_user" domainObjectName="User" >
</table> <table tableName="c_course" domainObjectName="Course" ></table>-->
<table tableName="coach" domainObjectName="Coach" >
</table> <table tableName="course" domainObjectName="Course" >
</table> <table tableName="member" domainObjectName="Member" >
</table> <table tableName="manager" domainObjectName="Manager" >
</table> <table tableName="member_course" domainObjectName="Member_course" >
</table>
<!--运行命令-->
<!-- mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate-->
</context>
</generatorConfiguration>

3,点击maven,运行插件即可

example使用方法:

mybatis用mybatis-generator-core-1.3.5.jar自动生成实体类的更多相关文章

  1. 使用.net core efcore根据数据库结构自动生成实体类

    源码 github,已更新最新代码 https://github.com/leoparddne/GenEntities/ 使用的DB是mysql,所有先nuget一下mysql.data 创建t4模板 ...

  2. Mybatis自动生成实体类

    Maven自动生成实体类需要的jar包 一.pom.xml中 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

  3. Springboot mybatis generate 自动生成实体类和Mapper

    https://github.com/JasmineQian/SpringDemo_2019/tree/master/mybatis Springboot让java开发变得方便,Springboot中 ...

  4. Mybatis自动生成实体类、dao接口和mapping映射文件

    由于Mybatis是一种半自动的ORM框架,它的工作主要是配置mapping映射文件,为了减少手动书写映射文件,可以利用mybatis生成器,自动生成实体类.dao接口以及它的映射文件,然后直接拷贝到 ...

  5. .net core 中简单封装Dapper.Extensions 并使用sqlsuger自动生成实体类

    引言 由公司需要使用dapper  同时支持多数据库 又需要支持实体类 又需要支持sql 还需要支持事务 所以采用了 dapper + dapperExtensions  并配套 生成实体类小工具的方 ...

  6. Mybatis自动生成实体类和实体映射工具

    Mybatis Mysql生成实体类 用到的Lib包: mybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.30.jar 1. 创建一个文 ...

  7. mybatis根据数据库表结构自动生成实体类,dao,mapper

    首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifac ...

  8. mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  9. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍

    我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version=& ...

随机推荐

  1. AcWing 908. 最大不相交区间数量

    //1.将每个区间按右端点从小到大排序 //2.从前往后依次枚举每个区间,如果当前区间中已经包含点,就直接跳过,否则,选择当前区间的右端点 //选右端点的话,可以尽可能的包含在多个区间里 //那么选的 ...

  2. php设计模式之单例实例代码

    <?php header("Content-type:text/html;charset=utf-8"); /** * 第一步,分别实例化 */ /*class Single ...

  3. maven web报错:org.apache.jasper.JasperException: Unable to compile class for JSP

    原博文地址:https://blog.csdn.net/ken1583096683/article/details/80837281 maven web项目启动没问题,访问页面就报错:org.apac ...

  4. react生命周期方法有哪些?

    react生命周期方法有哪些? React 16.3+ getDerivedStateFromProps:在调用render()之前调用,并在每次渲染时调用.需要使用派生状态的情况是很罕见的 comp ...

  5. linux nmon安装

    系统版本红帽7.7: [root@hostuser1 nmon_permon]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core ...

  6. android WebView缩放时卡顿问题

    问题描述: WebView 在双指缩放页面时会卡顿 解决过程:有试过打开硬件加速android:hardwareAccelerated="true" 还是没用,纠结了一天,最后屏蔽 ...

  7. luckyframe的一些坑

    建议使用idea运行 1.第一次运行访问http://localhost:8088/LuckyFrameServer 2.luckyframe提示“javax.net.ssl.SSLKeyExcept ...

  8. form中把图片设为按钮

    提交按钮sumbit <input type="image" src="图片路径">//type="image"默认是sumbi ...

  9. python面试的100题(1)

    题目:有一个jsonline格式的文件file.txt大小约为10K def get_lines(): with open('file.txt','rb') as f: return f.readli ...

  10. 当map的key为对象时,js无法解析key的属性值

    重写对象的toString方法,按照json数据的规则 然后前台string转json 控制台打印 这个方法不需要引入其他包 如果map的key属性过多,或者key是集合,可以在后台先转json,然后 ...