• mybatis。逆向工程


    逆向工程

    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="123456">

    </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="com.oracle.pojo"

    targetProject=".src">

    <!-- enableSubPackages:是否让schema作为包的后缀 -->

    <property name="enableSubPackages" value="false" />

    <!-- 从数据库返回的值被清理前后的空格 -->

    <property name="trimStrings" value="true" />

    </javaModelGenerator>

    <!-- targetProject:mapper映射文件生成的位置 -->

    <sqlMapGenerator targetPackage="com.oracle.mapper"

    targetProject=".src">

    <!-- enableSubPackages:是否让schema作为包的后缀 -->

    <property name="enableSubPackages" value="false" />

    </sqlMapGenerator>

    <!-- targetPackagemapper接口生成的位置 -->

    <javaClientGenerator type="XMLMAPPER"

    targetPackage="com.oracle.mapper" targetProject=".src">

    <!-- enableSubPackages:是否让schema作为包的后缀 -->

    <property name="enableSubPackages" value="false" />

    </javaClientGenerator>

    <!-- 指定数据库表 -->

    <table schema="" tableName="user"></table>

    <table schema="" tableName="order"></table>

    </context>

    </generatorConfiguration>

    注释部分为连接oracle数据库

    需修改:

    1. 数据库名和密码
    2. targetProject:生成pojo类的位置
    3. targetProject:mapper映射文件生成的位置
    4. targetPackagemapper接口生成的位置
    5. 指定生成的数据库表

    每个表对应生成一个实体类,一个mapper接口,一个mapper.xml

    执行main方法 生成代码

    (default package)包下GeneratorSqlmap.java方法:

    右键 Run as  -  java A....执行方法

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

    }

    }

    }

    方法调用(不变):

    //加载配置文件

    String path="SqlMapConfig.xml";

    InputStream in= Resources.getResourceAsStream(path);

    //获取SqlSessionFactory

    SqlSessionFactory fac=new SqlSessionFactoryBuilder().build(in);

    //获取SqlSession对象

    SqlSession sqlsession=fac.openSession();

    //获取动态代理对象(实现类对象)

    接口名 usermapper=sqlsession.getMapper(接口名.class);

    返回值=usermapper.方法(参数);

    注意:

    1. 逆向工程生成的代码只能做单表查询
    2. 不能在生成的代码上进行扩展,因为如果数据库变更,需要重新使用逆向工程生成代码,原来编写的代码就被覆盖了。
    3. 一张表会生成4个文件
  • 相关阅读:
    CentOS 7 安装Python pip
    关于 HIVE Beeline 问题
    HIVE 简单总结
    值得一提:关于 HDFS 的 file size 和 block size
    Hadoop作业优化
    一篇文章,掌握所有开源数据库的现状
    dfs.replication 参数 动态修改
    Hadoop YARN ERROR 1/1 local-dirs are bad *, 1/1 log-dirs are bad *
    Hadoop 中关于 map,reduce 数量设置
    CentOS ulimit
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10891544.html
Copyright © 2020-2023  润新知