• MyBatis逆向工程


    回想一下MyBatis的基本操作,它需要实体类,自定义mapper接口以及mapper.xml配置文件。为了避免繁琐的工作量,MyBatis Generator,简称MBG,可自动生成框架所需的这些依赖,同时支持基本的CRUD操作,但是需要注意,MBG一般不要重复执行,否则会出问题。下面是引入MBG的基本操作:

    一、新建maven项目,引入依赖:

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
    
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
        </dependency>
    
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.0</version>
        </dependency>
    </dependencies>

    二、创建mbg配置文件:

    <?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="testMBG" targetRuntime="MyBatis3">
            <!-- 连接池 -->
            <jdbcConnection
                    driverClass="com.mysql.cj.jdbc.Driver"
                    connectionURL="jdbc:mysql://localhost:3306/demo"
                    userId="root"
                    password=""
            ></jdbcConnection>
            <!-- 配置JavaBean生成策略 -->
            <javaModelGenerator targetPackage="com.wts.entity" targetProject="./src/main/java"></javaModelGenerator>
            <!-- 配置SQL映射文件生成策略 -->
            <sqlMapGenerator targetPackage="com.wts.entity" targetProject="./src/main/java"></sqlMapGenerator>
            <!-- 配置Mapper接口的生成策略 -->
            <javaClientGenerator targetPackage="com.wts.entity" targetProject="./src/main/java"></javaClientGenerator>
            <table tableName="user" domainObjectName="User"></table>
        </context>
    </generatorConfiguration>

    三、运行Generator:

    public class MyTest {
        public static void main(String[] args) {
            List<String> warnings = new ArrayList<>();
            File configFile = new File(MyTest.class.getResource("generatorConfig.xml").getFile());
            ConfigurationParser configurationParser = new ConfigurationParser(warnings);
            Configuration configuration = null;
            try {
                configuration = configurationParser.parseConfiguration(configFile);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XMLParserException e) {
                e.printStackTrace();
            }
            DefaultShellCallback callback = new DefaultShellCallback(true);
            MyBatisGenerator myBatisGenerator = null;
            try {
                myBatisGenerator = new MyBatisGenerator(configuration, callback, warnings);
            } catch (InvalidConfigurationException e) {
                e.printStackTrace();
            }
            try {
                myBatisGenerator.generate(null);
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    这都是固定写法,了解一下即可。

  • 相关阅读:
    自己写的杨辉三角打印算法
    linux下将编译错误输出到一个文本文件
    在重命名SqlServer数据库时,报5030错误的解决办法
    将毫秒数转换为时分秒
    搜索手机中的所有音频文件
    安卓-去除ActionBar的方法
    Android, JSONLIB , java.lang.NoClassDefFoundError: Failed resolution of: Lnet/sf/json/JSONArray; 原因
    安卓开发错误:The type android.support.v4.app.TaskStackBuilder$SupportParentable cannot be resolved.
    Jar mismatch! Fix your dependencies的问题
    activity和fragment的生命周期
  • 原文地址:https://www.cnblogs.com/viewts/p/13213865.html
Copyright © 2020-2023  润新知