使用MyBatis Generator代码生成器的简单模式

在动态web项目的lib目录下放入mybatis-3.2.2jar、mysql-connector-java-5.1.25-bin.jar、log4j-1.2.17.jar还有生成器的jar包mybatis-generator-core-1.3.2.jar(1.3.1版本不支持MyBatis3Simple格式),添加到build path,在src目录下创建cn.java17.pojo和cn.java17.dao两个目录,还有添加一个log4j.properties文件,之后再在项目路径下创建mbg.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="MySQLTables"  targetRuntime="MyBatis3Simple" >

     <commentGenerator>
         <property value="true" name="suppressAllComments"/>
    commentGenerator>
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://127.0.0.1:3306/smbms"
        userId="root"
        password="123456">
    jdbcConnection>

    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    javaTypeResolver>

    <javaModelGenerator targetPackage="cn.java17.pojo" targetProject=".\src">

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

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

    <sqlMapGenerator targetPackage="cn.java17.dao"  targetProject=".\src">
      <property name="enableSubPackages" value="true" />
    sqlMapGenerator>

    <javaClientGenerator type="XMLMAPPER" targetPackage="cn.java17.dao"  targetProject=".\src">
      <property name="enableSubPackages" value="true" />
    javaClientGenerator>
  
    <table tableName="smbms_address" domainObjectName="Address" >
    table>
    <table tableName="smbms_bill" domainObjectName="Bill" >
    table>
    <table tableName="smbms_provider" domainObjectName="Provider" >
    table>
    <table tableName="smbms_role" domainObjectName="Role" >
    table>
    <table tableName="smbms_user" domainObjectName="User" >
    table>
  context>
generatorConfiguration>
创建用于执行生成MyBatis相关文件带main函数的class如下:

执行以上代码即可生成相应的MyBatis映射文件和pojo文件。其中overwrite如果是true代表,后面再次生成的文件是覆盖前面生成的同名文件,

如果生成的文件修改过,要保留修改痕迹,请慎重,把overwrite改成false。

其中context元素下的targetRuntime=”MyBatis3Simple”,指生成的pojo文件不生成相应的example示例文件,而且生成的映射接口文件

不产生复杂的增删改查函数和对应pojo中example文件的示例映射文件,只生成一些简单的增删改查文件,

而javaModelGenerator、sqlMapGenerator、javaClientGenerator等元素的targetPackage属性是用于指定

文件生成到哪个包路径下,而targetProject属性是用于设置这些包在哪个Source Folder下,写.\src指的是本项目的src目录。

生成器生成的代码不一定涵盖你需要的所有功能,大家可以自己在这些基础上自行扩展。

生成器的jar文件来源于https://github.com/mybatis/generator/releases

Original: https://www.cnblogs.com/youngremus/p/9373357.html
Author: 摩斯
Title: 使用MyBatis Generator代码生成器的简单模式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585186/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Jstack排查线上CPU100%

    Jstack排查线上CPU100% 介绍 jstack是JVM自带的Java堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照,来帮助定位线程出现长时间停顿的原因,例如死锁、死…

    Linux 2023年6月6日
    094
  • Golang中字符串、数组、切片排序

    使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧: 使用接口排序: sort.Sort(data Interface) 自定义…

    Linux 2023年6月6日
    0101
  • Centos部署Loki日志聚合系统

    有关一些日志聚合的起源和原则,请参阅我的另一篇文章“用于编程入门的日志聚合系统”。 [En] For the origin and principles of some log a…

    Linux 2023年5月27日
    060
  • Linux安装cmatrix代码雨教程

    一:介绍 cmatrix代码雨是Linux的系统屏保界面;执行cmatrix不仅可以练习简单的编译安装软件三部曲,还可以执行cmatrix命令做出代码雨,提升文化实力 二:成品演示…

    Linux 2023年5月27日
    099
  • shell脚本字符串截取方法整理

    首先先声明一个变量str,下面演示以该变量为例: str=’https://www.baidu.com/about.html’ 1.#号截取,删除左边字符,保留右边字符 echo …

    Linux 2023年5月28日
    073
  • SQL52 获取employees中的first_name

    本题链接表结构如下所示(内容不完整):额外的要求是按照first_name最后两个字母升序进行输出。这里需要用到MySQL的字符串处理函数RIGHT。RIGHT函数的语法如下所示:…

    Linux 2023年6月13日
    0103
  • 二、Java分布式(第二章)—-Demo

    这一章简单搭建一个分布式服务: 1、Dubbo简介:Dubbo 是一个分布式服务框架,是阿里巴巴开源项目。 Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA…

    Linux 2023年6月7日
    0109
  • Forms组件;cookie与session

    Forms组件 需求 如果需要编写一个校验用户名和密码是否合法的功能,那么 前端需要自己编写获取用户数据的各种标签 前端需要自己想方设法的展示错误的提示信息 后端需要自己想方设法的…

    Linux 2023年6月7日
    079
  • opencv

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月14日
    093
  • 基于AnolisOS8.6安装OceanBase数据库

    网络配置 cd /etc/sysconfig/network-scripts/ ls vi ifcfg-ens33 修改网络配置 TYPE=Ethernet PROXY_METHO…

    Linux 2023年6月7日
    098
  • python 练习题:请利用循环依次对list中的每个名字打印出Hello, xxx!

    方法一: python;gutter:true; -<em>- coding: utf-8 -</em>- 请利用循环依次对list中的每个名字打印出Hel…

    Linux 2023年6月8日
    087
  • 每周一个linux命令(ping)

    基础环境 ping命令介绍 ping&#x547D;&#x4EE4;&#x4E3B;&#x8981;&#x7528;&#x6765;…

    Linux 2023年6月8日
    083
  • 如何在 pyqt 中实现桌面歌词

    前言 酷狗、网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示: 代码实现 桌面歌词部件 LyricWidget 在 paintEv…

    Linux 2023年6月7日
    098
  • 【转】redis 消息队列发布订阅模式spring boot实现

    /*redis 消息处理器/ @Component public class MessageReceiver { /*接收消息的方法/ public void receiveMes…

    Linux 2023年5月28日
    091
  • rocksdb列族笔记

    1、简介 列族(Column Families)是rocksdb3.0提出的一个机制,用于对同一个数据库的记录(键值对)进行逻辑划分。默认情况下所有的记录都会存储在一个默认列族里(…

    Linux 2023年6月7日
    099
  • Linux下无限期使用Navicat16

    原文链接:https://www.zhoubotong.site/post/79.htmllinux 下的数据库图形化工具比较好用的有dbeaver完全免费,相比navicat,我…

    Linux 2023年6月6日
    0137
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球