Mybatis Generator的使用-阿里云开发者社区

开发者社区> 小码农薛尧> 正文

Mybatis Generator的使用

简介: 在写代码过程中,常常要写一些简单的CURD操作,为了能够把时间用在业务逻辑上,看了Mybatis Generator生成工具,根据官网的文档,改成适合自己使用的生成器。 mybatis generator的配置文件 如下: <?xml version="1.
+关注继续查看

在写代码过程中,常常要写一些简单的CURD操作,为了能够把时间用在业务逻辑上,看了Mybatis Generator生成工具,根据官网的文档,改成适合自己使用的生成器。

mybatis generator的配置文件 如下:

<?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>
    <!--读取配置文件-->
    <properties resource="generator.properties" />

    <context id="MySQLContext" targetRuntime="MyBatis3">
        <!--设置文件编码-->
        <property name="javaFileEncoding" value="UTF-8"/>

        <!--配置去掉所有生成的注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!--设置数据库连接驱动-->
        <jdbcConnection driverClass="${jdbc.driverClass}"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.username}"
                        password="${jdbc.password}">
        </jdbcConnection>

        <!--当字段类型是 DECIMAL或者 NUMERIC时,是否强制转换为BigDecimal,否的话会自动根据规模的大小选择合适的类型  -->
        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="me.xueyao.model" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="me.xueyao.mapper"  targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="me.xueyao.mapper"
                             targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名,需要根据自己的需求修改-->
        <table  tableName="candidate" domainObjectName="Candidate" enableCountByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false">
            <generatedKey column="id" sqlStatement="MySql" identity="true" />
        </table>

    </context>
</generatorConfiguration>

mybatis generator的执行文件 如下:

package me.xueyao;

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;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

/**
 * @Description: Mybatis Generator 生成器
 * @Author: Simon.Xue
 * @Date: 2019/1/18 13:44
 */
public class Generator {

    public static void main(String[] args) throws Exception {
        //警告信息集合
        List<String> warnings = new ArrayList<String>();
        //读取生成器的配置文件
        InputStream resourceAsStream = Generator.class.getResourceAsStream("/mybatis-generator.xml");
        //创建配置解析器
        ConfigurationParser configurationParser = new ConfigurationParser(warnings);
        //解析配置文件
        Configuration configuration = configurationParser.parseConfiguration(resourceAsStream);
        resourceAsStream.close();
        //true时,如果有相同的文件则覆盖文件
        DefaultShellCallback defaultShellCallback = new DefaultShellCallback(true);
        //创建生成器对象
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(configuration, defaultShellCallback, warnings);
        //执行生成代码
        myBatisGenerator.generate(null);
        //输出警告信息
        for (String warning : warnings) {
            System.out.println(warning);
        }
    }
}

源代码托管在GitHub

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MyBatis Generator(MBG)MySql使用说明 无符号字段
MySql使用说明无符号字段MySql支持带符号和无符号数字字段。这些不是JDBC类型,所以MyBatis生成器不能自动计算这些类型的字段。Java数据类型始终被签名。这可能导致使用无符号字段时的精度损失。
1064 0
完整的个人博客指南:如何使用WordPress启动和发展个人博客
完整的个人博客指南:如何使用WordPress启动和发展个人博客 互联网上有足够的空间供所有人使用。人们喜欢分享想法,塑造他们的想法,甚至可能覆盖全球观众。如何让自己走上实现这一切的道路?一次,如何创建个人博客?由于几个原因,博客非常有效。
1483 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12069 0
使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常
使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常 问题描述 在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下:org.
1664 0
MyBatis Generator(MBG)PostgreSQL使用说明 区分大小写敏感
PostgreSQL使用说明区分大小写敏感 PostgreSQL对所有数据库标识符(表名,模式名,列名等)区分大小写。此外,PostgreSQL对所有小写字母的所有标识符都有不同的偏好。如果您使用PostgreSQL的所有小写标识符,那么MyBatis Generator将找到表并写入正确的SQL,而无需额外考虑。
1481 0
windows下使用SQLPLUS制作BAT执行SQL文件
假如你把需要的SQL操作信息等均放入到一个SQL文件中,需要制作一个bat文件来执行这个sql文件,那么你的bat文件中,在sqlplus登录语句后的信息不能换行,换行的话则执行登录sqlplus后就不再运行后面的命令。
832 0
全民学后端快餐教程(3) - 使用MyBatis访问数据库
使用流行的持久层框架MyBatis来访问数据库
1472 0
MyBatis Generator(MBG)Oracle使用说明 公共同义词 LONG数据类型
Oracle使用说明公共同义词 Public Synonyms如果要为具有公共同义词的表生成对象,则应该实际上根据真实表生成对象,然后在运行时更改表名称。MyBatis Generator自动支持。
918 0
使用Mybatis generator帮助Mybatis生成配置和映射
使用Mybatis generator帮助Mybatis生成配置和映射 下载安装Mybatis Generator后,在Eclipse中,File>>New>>Other...,输入MyBatis,出现如下选项,说明安装成功。
1416 0
+关注
小码农薛尧
90后的小码农,专业搬砖30年
22
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载