当前位置: 首页>编程语言>正文

mybatis0212 mybatis逆向工程 (MyBatis Generator)

1mybatis逆向工程 (MyBatis Generator)
1.1什么是mybatis的逆向工程 
mybatis官方为了提高开发效率,提高自动对单表生成sql,包括生成 :mapper.xml、mapper.java、表名.java(po类)
Github:

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_逆向工程,第1张

在企业开发中通常是在设计阶段对表进行设计 、创建。
在开发阶段根据表结构创建对应的po类。
mybatis逆向工程的方向:由数据库表----》java代码
1.1逆向工程 使用配置
运行逆向工程 方法:

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_ide_02,第2张

本教程使用通过java程序运行逆向工程 。
逆向工程 运行所需要的jar包:

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_xml_03,第3张

还有:通过数据库生成java代码的数据库驱动包,日志包

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_sql_04,第4张

1.1.1xml配置
需要使用用配置的地方:
1、连接数据库的地址和驱动

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_java_05,第5张

2、需要配置po类的包路径

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_xml_06,第6张

3、需要配置mapper包的路径

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_ide_07,第7张

4、指定要生成的数据表

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_java_08,第8张

 

1.1.1java程序
通过java程序生成mapper类、po类。。

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_sql_09,第9张

1.1使用逆向工程生成的代码
1.1.1第一步配置generatorConfig.xml
参考:

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_java_10,第10张

1.1.1 第二步配置执行java程序

执行java程序后,所生成的代码已经生成到mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_逆向工程_11,第11张工程中。

 

 

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_ide_12,第12张

1.1.1 第三步将生成的代码拷贝到工程 中

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_java_13,第13张             

1.1 测试生成的代码

mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_sql_14,第14张

全部代码:

GeneratorSqlmap

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();
        }
        
    }

}

ItemsMapper

package cn.itcast.mybatis.mapper;

import cn.itcast.mybatis.po.Items;
import cn.itcast.mybatis.po.ItemsExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface ItemsMapper {
    int countByExample(ItemsExample example);

    int deleteByExample(ItemsExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Items record);

    int insertSelective(Items record);

    List<Items> selectByExampleWithBLOBs(ItemsExample example);

    List<Items> selectByExample(ItemsExample example);

    Items selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Items record, @Param("example") ItemsExample example);

    int updateByExampleWithBLOBs(@Param("record") Items record, @Param("example") ItemsExample example);

    int updateByExample(@Param("record") Items record, @Param("example") ItemsExample example);

    int updateByPrimaryKeySelective(Items record);

    int updateByPrimaryKeyWithBLOBs(Items record);

    int updateByPrimaryKey(Items record);
}

ItemsMapper.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="cn.itcast.mybatis.mapper.ItemsMapper" >
  <resultMap id="BaseResultMap" type="cn.itcast.mybatis.po.Items" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="price" property="price" jdbcType="REAL" />
    <result column="pic" property="pic" jdbcType="VARCHAR" />
    <result column="createtime" property="createtime" jdbcType="TIMESTAMP" />
  </resultMap>
  <resultMap id="ResultMapWithBLOBs" type="cn.itcast.mybatis.po.Items" extends="BaseResultMap" >
    <result column="detail" property="detail" jdbcType="LONGVARCHAR" />
  </resultMap>
  <sql id="Example_Where_Clause" >
    <where >
      <foreach collection="oredCriteria" item="criteria" separator="or" >
        <if test="criteria.valid" >
          <trim prefix="(" suffix=")" prefixOverrides="and" >
            <foreach collection="criteria.criteria" item="criterion" >
              <choose >
                <when test="criterion.noValue" >
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue" >
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue" >
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue" >
                  and ${criterion.condition}
                  <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause" >
    <where >
      <foreach collection="example.oredCriteria" item="criteria" separator="or" >
        <if test="criteria.valid" >
          <trim prefix="(" suffix=")" prefixOverrides="and" >
            <foreach collection="criteria.criteria" item="criterion" >
              <choose >
                <when test="criterion.noValue" >
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue" >
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue" >
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue" >
                  and ${criterion.condition}
                  <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List" >
    id, name, price, pic, createtime
  </sql>
  <sql id="Blob_Column_List" >
    detail
  </sql>
  <select id="selectByExampleWithBLOBs" resultMap="ResultMapWithBLOBs" parameterType="cn.itcast.mybatis.po.ItemsExample" >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from items
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByExample" resultMap="BaseResultMap" parameterType="cn.itcast.mybatis.po.ItemsExample" >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    from items
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from items
    where id = #{id,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from items
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <delete id="deleteByExample" parameterType="cn.itcast.mybatis.po.ItemsExample" >
    delete from items
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="cn.itcast.mybatis.po.Items" >
    insert into items (id, name, price, 
      pic, createtime, detail
      )
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{price,jdbcType=REAL}, 
      #{pic,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, #{detail,jdbcType=LONGVARCHAR}
      )
  </insert>
  <insert id="insertSelective" parameterType="cn.itcast.mybatis.po.Items" >
    insert into items
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="price != null" >
        price,
      </if>
      <if test="pic != null" >
        pic,
      </if>
      <if test="createtime != null" >
        createtime,
      </if>
      <if test="detail != null" >
        detail,
      </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="price != null" >
        #{price,jdbcType=REAL},
      </if>
      <if test="pic != null" >
        #{pic,jdbcType=VARCHAR},
      </if>
      <if test="createtime != null" >
        #{createtime,jdbcType=TIMESTAMP},
      </if>
      <if test="detail != null" >
        #{detail,jdbcType=LONGVARCHAR},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="cn.itcast.mybatis.po.ItemsExample" resultType="java.lang.Integer" >
    select count(*) from items
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map" >
    update items
    <set >
      <if test="record.id != null" >
        id = #{record.id,jdbcType=INTEGER},
      </if>
      <if test="record.name != null" >
        name = #{record.name,jdbcType=VARCHAR},
      </if>
      <if test="record.price != null" >
        price = #{record.price,jdbcType=REAL},
      </if>
      <if test="record.pic != null" >
        pic = #{record.pic,jdbcType=VARCHAR},
      </if>
      <if test="record.createtime != null" >
        createtime = #{record.createtime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.detail != null" >
        detail = #{record.detail,jdbcType=LONGVARCHAR},
      </if>
    </set>
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExampleWithBLOBs" parameterType="map" >
    update items
    set id = #{record.id,jdbcType=INTEGER},
      name = #{record.name,jdbcType=VARCHAR},
      price = #{record.price,jdbcType=REAL},
      pic = #{record.pic,jdbcType=VARCHAR},
      createtime = #{record.createtime,jdbcType=TIMESTAMP},
      detail = #{record.detail,jdbcType=LONGVARCHAR}
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map" >
    update items
    set id = #{record.id,jdbcType=INTEGER},
      name = #{record.name,jdbcType=VARCHAR},
      price = #{record.price,jdbcType=REAL},
      pic = #{record.pic,jdbcType=VARCHAR},
      createtime = #{record.createtime,jdbcType=TIMESTAMP}
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="cn.itcast.mybatis.po.Items" >
    update items
    <set >
      <if test="name != null" >
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="price != null" >
        price = #{price,jdbcType=REAL},
      </if>
      <if test="pic != null" >
        pic = #{pic,jdbcType=VARCHAR},
      </if>
      <if test="createtime != null" >
        createtime = #{createtime,jdbcType=TIMESTAMP},
      </if>
      <if test="detail != null" >
        detail = #{detail,jdbcType=LONGVARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKeyWithBLOBs" parameterType="cn.itcast.mybatis.po.Items" >
    update items
    set name = #{name,jdbcType=VARCHAR},
      price = #{price,jdbcType=REAL},
      pic = #{pic,jdbcType=VARCHAR},
      createtime = #{createtime,jdbcType=TIMESTAMP},
      detail = #{detail,jdbcType=LONGVARCHAR}
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="cn.itcast.mybatis.po.Items" >
    update items
    set name = #{name,jdbcType=VARCHAR},
      price = #{price,jdbcType=REAL},
      pic = #{pic,jdbcType=VARCHAR},
      createtime = #{createtime,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>

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

generatorConfig-base.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="caigouTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
            password="mysql">
        </jdbcConnection> -->
        <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:生成PO类的位置 -->
        <javaModelGenerator targetPackage="yycg.base.pojo.po"
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetPackage:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="yycg.base.dao.mapper" 
            targetProject=".\src">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口的生成位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="yycg.base.dao.mapper" 
            targetProject=".\src">
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        
        <!-- 指定表 -->
        <!-- <table schema="" tableName="sysuser" /> -->
        
        <!-- 系统用户
        这里不指定schema,逆向工程会查询sysuser都有哪些schema,对每个schema生成对象
         -->
        <!-- <table schema="yycg" tableName="sysuser" /> -->
        <!-- 监督单位 -->
        <table schema="" tableName="userjd" />
        <!-- 供应商 -->
        <table schema="" tableName="usergys" />
        <table schema="" tableName="usergysarea" />
        <!-- 医院 -->
        <table schema="" tableName="useryy" />
        <!-- 数据字典 -->
        <table schema="" tableName="dictinfo" />
        <table schema="" tableName="dicttype" />
        <!-- 系统参数 -->
        <table schema="" tableName="basicinfo" />
        <!-- 区域表 -->
        <table schema="" tableName="bss_sys_area" />
        

    </context>
</generatorConfiguration>

generatorConfig-business.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="caigouTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/uni" userId="root"
            password="mysql">
        </jdbcConnection> -->
        <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:自动生成代码的位置 -->
        <javaModelGenerator targetPackage="yycg.business.pojo.po"
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
       <!-- targetPackage:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="yycg.business.dao.mapper" 
            targetProject=".\src">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
       <!-- targetPackage:mapper接口的生成位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="yycg.business.dao.mapper" 
            targetProject=".\src">
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        
    
        <!-- <table schema="" tableName="useryy" />
        <table schema="" tableName="userjd" />
        <table schema="" tableName="usergys" /> -->
    <!--     <table schema="" tableName="ypxx" >
            指定字段生成类型
            <columnOverride column="zbjg" javaType="java.lang.Float" />
        </table> -->
        <!-- <table schema="" tableName="gysypml" />
        <table schema="" tableName="gysypml_control" /> -->
        <!-- <table schema="" tableName="yyypml" /> -->
    <!-- 
        <table schema="" tableName="yycgd" >
        </table>
        
        <table schema="" tableName="yycgdmx" >
           <columnOverride column="zbjg" javaType="java.lang.Float" />
           <columnOverride column="jyjg" javaType="java.lang.Float" />
           <columnOverride column="cgl" javaType="java.lang.Integer" />
           <columnOverride column="cgje" javaType="java.lang.Float" />
        </table> -->
        
         
    <!--      <table schema="" tableName="yycgdrk" >
           <columnOverride column="rkje" javaType="java.lang.Float" />
           <columnOverride column="ypyxq" javaType="java.lang.Float" />
           <columnOverride column="rkl" javaType="java.lang.Integer" />
        </table> -->
        
         
          <table schema="" tableName="yybusiness" >
          
           <columnOverride column="zbjg" javaType="java.lang.Float" />
           <columnOverride column="jyjg" javaType="java.lang.Float" />
           <columnOverride column="cgl" javaType="java.lang.Integer" />
           <columnOverride column="cgje" javaType="java.lang.Float" />
          
           <columnOverride column="rkje" javaType="java.lang.Float" />
           <columnOverride column="ypyxq" javaType="java.lang.Float" />
           <columnOverride column="rkl" javaType="java.lang.Integer" />
           
            <columnOverride column="thje" javaType="java.lang.Float" />
            <columnOverride column="thl" javaType="java.lang.Integer" />
            
            <columnOverride column="jsje" javaType="java.lang.Float" />
            <columnOverride column="jsl" javaType="java.lang.Integer" />
            
        </table>

    </context>
</generatorConfiguration>

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="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
            password="mysql">
        </jdbcConnection>
        <!-- <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:生成PO类的位置 -->
        <javaModelGenerator targetPackage="cn.itcast.mybatis.po"
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="cn.itcast.mybatis.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="cn.itcast.mybatis.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="items"></table>
        <table tableName="orders"></table>
        <table tableName="orderdetail"></table>
        <!-- <table schema="" tableName="sys_user"></table>
        <table schema="" tableName="sys_role"></table>
        <table schema="" tableName="sys_permission"></table>
        <table schema="" tableName="sys_user_role"></table>
        <table schema="" tableName="sys_role_permission"></table> -->
        
        <!-- 有些表的字段需要指定java类型
         <table schema="" tableName="">
            <columnOverride column="" javaType="" />
        </table> -->
    </context>
</generatorConfiguration>

 mybatis0212 mybatis逆向工程 (MyBatis Generator),mybatis0212   mybatis逆向工程 (MyBatis Generator)_java_15,第15张


https://www.xamrdz.com/lan/5nd1924540.html

相关文章: