Skip to content

mybatis逆向工具,根据数据库表自动生成所需要的持久化类以及接口,适合所有人使用

Notifications You must be signed in to change notification settings

nacey5/MyBatisGeneratorTools

Repository files navigation

MyBatisGeneratorTools

MybatisGeneratorTools

简介

mybatis逆向工具,用户程序自动生成Mapper接口以及Mapper接口所对应的xml文件

使用方式

将相对应的文件包导入,[包已经全部准备在lib文件中],在source中的

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>
   <context id="testTables" targetRuntime="MyBatis3">
      <commentGenerator>
         <!-- 是否去除自动生成的注释 true:是 : false:否 -->
         <property name="suppressAllComments" value="false" />
         <property name="suppressDate" value="false"/>
      </commentGenerator>
      <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
      <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
         connectionURL="jdbc:mysql://127.0.0.1:3306/myclass?useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true" userId="root"
         password="a1160124552">
         <property name="nullCatalogMeansCurrent" value="true"/>
      </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.hzh.javaeefinwork2.entity"
         targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
         <!-- 从数据库返回的值被清理前后的空格 -->
         <property name="trimStrings" value="true" />
      </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
      <sqlMapGenerator targetPackage="com.hzh.crm.workbench.mapper"
         targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </sqlMapGenerator>
      <!-- targetPackage:mapper接口生成的位置 -->
      <javaClientGenerator type="XMLMAPPER"
         targetPackage="com.hzh.crm.workbench.mapper"
         targetProject=".\src">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </javaClientGenerator>
      <!-- 指定数据库表 -->
      
      
      <table tableName="classinfo" domainObjectName="ClassInfo"
            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false"
      ></table>


      <!--需要新的表就添加新的表,不需要用的的时候就取消掉-->
      <!--<table tableName="tbl_user" domainObjectName="User"
            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false"
      ></table>-->



   </context>
</generatorConfiguration>

当需要生成多张表的时候,只需要添加相对应的表的信息就可以成功


项目演示效果如下 演示效果图1

代码示例如下:

Mapper:

package com.hzh.crm.workbench.mapper;

import com.hzh.javaeefinwork2.entity.ClassInfo;

public interface ClassInfoMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    int insert(ClassInfo record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    int insertSelective(ClassInfo record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    ClassInfo selectByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    int updateByPrimaryKeySelective(ClassInfo record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table classinfo
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    int updateByPrimaryKey(ClassInfo record);
}

Entity:

package com.hzh.javaeefinwork2.entity;

import java.util.Date;

public class ClassInfo {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.id
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private Integer id;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.name
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private String name;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.gradeID
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private Integer gradeid;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.createTeacher
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private Integer createteacher;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.createTime
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private Date createtime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column classinfo.remark
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    private String remark;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.id
     *
     * @return the value of classinfo.id
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public Integer getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.id
     *
     * @param id the value for classinfo.id
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.name
     *
     * @return the value of classinfo.name
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public String getName() {
        return name;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.name
     *
     * @param name the value for classinfo.name
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.gradeID
     *
     * @return the value of classinfo.gradeID
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public Integer getGradeid() {
        return gradeid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.gradeID
     *
     * @param gradeid the value for classinfo.gradeID
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setGradeid(Integer gradeid) {
        this.gradeid = gradeid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.createTeacher
     *
     * @return the value of classinfo.createTeacher
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public Integer getCreateteacher() {
        return createteacher;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.createTeacher
     *
     * @param createteacher the value for classinfo.createTeacher
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setCreateteacher(Integer createteacher) {
        this.createteacher = createteacher;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.createTime
     *
     * @return the value of classinfo.createTime
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.createTime
     *
     * @param createtime the value for classinfo.createTime
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column classinfo.remark
     *
     * @return the value of classinfo.remark
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public String getRemark() {
        return remark;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column classinfo.remark
     *
     * @param remark the value for classinfo.remark
     *
     * @mbggenerated Thu Jun 16 01:36:41 GMT+08:00 2022
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }
}

xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hzh.crm.workbench.mapper.ClassInfoMapper" >
  <resultMap id="BaseResultMap" type="com.hzh.javaeefinwork2.entity.ClassInfo" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="gradeID" property="gradeid" jdbcType="INTEGER" />
    <result column="createTeacher" property="createteacher" jdbcType="INTEGER" />
    <result column="createTime" property="createtime" jdbcType="TIMESTAMP" />
    <result column="remark" property="remark" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    id, name, gradeID, createTeacher, createTime, remark
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    select 
    <include refid="Base_Column_List" />
    from classinfo
    where id = #{id,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    delete from classinfo
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.hzh.javaeefinwork2.entity.ClassInfo" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    insert into classinfo (id, name, gradeID, 
      createTeacher, createTime, remark
      )
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{gradeid,jdbcType=INTEGER}, 
      #{createteacher,jdbcType=INTEGER}, #{createtime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.hzh.javaeefinwork2.entity.ClassInfo" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    insert into classinfo
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="gradeid != null" >
        gradeID,
      </if>
      <if test="createteacher != null" >
        createTeacher,
      </if>
      <if test="createtime != null" >
        createTime,
      </if>
      <if test="remark != null" >
        remark,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="name != null" >
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="gradeid != null" >
        #{gradeid,jdbcType=INTEGER},
      </if>
      <if test="createteacher != null" >
        #{createteacher,jdbcType=INTEGER},
      </if>
      <if test="createtime != null" >
        #{createtime,jdbcType=TIMESTAMP},
      </if>
      <if test="remark != null" >
        #{remark,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.hzh.javaeefinwork2.entity.ClassInfo" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
    update classinfo
    <set >
      <if test="name != null" >
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="gradeid != null" >
        gradeID = #{gradeid,jdbcType=INTEGER},
      </if>
      <if test="createteacher != null" >
        createTeacher = #{createteacher,jdbcType=INTEGER},
      </if>
      <if test="createtime != null" >
        createTime = #{createtime,jdbcType=TIMESTAMP},
      </if>
      <if test="remark != null" >
        remark = #{remark,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.hzh.javaeefinwork2.entity.ClassInfo" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Jun 16 01:36:41 GMT+08:00 2022.
    -->
      
      <!--可以在此添加自己的代码-->
    update classinfo
    set name = #{name,jdbcType=VARCHAR},
      gradeID = #{gradeid,jdbcType=INTEGER},
      createTeacher = #{createteacher,jdbcType=INTEGER},
      createTime = #{createtime,jdbcType=TIMESTAMP},
      remark = #{remark,jdbcType=VARCHAR}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>

About

mybatis逆向工具,根据数据库表自动生成所需要的持久化类以及接口,适合所有人使用

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages