使用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)

大家都在看

  • 012 Linux 搞懂用户权限升级(sudo 和 su),包学会😁

    Linux 系统中 root 账号通常用于系统的管理和维护,对操作系统的所有资源具有访问控制权限,当一个普通用户希望执行一些系统维护相关的操作的时候,就需要使用 sudo 命令,临…

    Linux 2023年6月13日
    079
  • Redis分布式锁实战

    背景 目前开发过程中,按照公司规范,需要依赖框架中的缓存组件。不得不说,做组件的大牛对CRUD操作的封装,连接池、缓存路由、缓存安全性的管控都处理的无可挑剔。但是有一个小问题,该组…

    Linux 2023年5月28日
    096
  • 内核同步问题

    linux内核同步问题 Linux内核设计与实现 十、内核同步方法 [手把手教Linux驱动5-自旋锁、信号量、互斥体概述](https://www.cnblogs.com/yik…

    Linux 2023年6月13日
    088
  • 多表查询练习题

    十道多表查询练习题 准备数据: 查询所有的课程的名称以及对应的任课老师姓名 查询姓李老师的个数 查询挂科超过两门(包括两门)的学生姓名和班级、查询选修了所有课程的学生姓名 post…

    Linux 2023年6月7日
    0101
  • 让Mac界面和Windows界面在Laxcus集群操作系统上合体

    如果一套操作系统,同时拥有苹果Mac风格的图形桌面,和微软Windows风格的图形桌面,你会是一种什么样的体验? 最近,我们公司的GUI研发团队完成了这项技术突破,在持续不断地技术…

    Linux 2023年6月6日
    0113
  • django基础

    目录 django三板斧 登录功能 静态文件 request对象方法 pycharm链接MySQL django链接MySQL django orm简介 orm基本使用 *orm数…

    Linux 2023年6月7日
    0125
  • k8s之部署metrics-server 转载

    Metrics Server是Kubernetes内置自动缩放管道的可扩展,高效的容器资源指标来源。 Metrics Server从Kubelet收集资源指标,并通过Metrics…

    Linux 2023年6月14日
    082
  • 条件分支

    条件分支 if-else-fi [root@node1 test]# vim if.sh #!/bin/bash amswer=30 if [ $1 -gt $answer ];t…

    Linux 2023年6月11日
    077
  • Liunx-LVM创建与扩容

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2…

    Linux 2023年6月8日
    0102
  • deepin安装Redis步骤以及简单配置

    一、安装Redis 安装完成之后,Redis服务器会自动启动 二、检查Redis服务器系统进程(非必要) 三、查看Redis端口状态(非必要) 四、输入redis-cli进入命令模…

    Linux 2023年5月28日
    0110
  • jdk8 时间

    package p2022; import java.text.SimpleDateFormat; import java.util.Date; /** * @descriptio…

    Linux 2023年6月8日
    0103
  • 15、16、17思维导图

    posted @2022-04-24 10:20 20191223张俊怡 阅读(31 ) 评论() 编辑 Original: https://www.cnblogs.com/zzj…

    Linux 2023年6月8日
    0148
  • 类成员变量的初始化

    1-1 类成员变量初始化的分类 类成员变量的初始化可简单分为两类:非静态成员变量的初始化(以下简称”普通初始化”)和静态成员变量的初始化(”静态…

    Linux 2023年6月8日
    0119
  • linux学习记录

    查看所有系统服务 systemctl list-unit-files –type service -all 查看服务状态 sudo systemctl status servic…

    Linux 2023年6月7日
    083
  • 最新版Linux以root登陆后,无声音、桌面无图标的原因分析

    近两年几乎所有的Linux发行版,以root登陆后无声音、桌面无图标。 声音好处理,这是因为声音服务程序因为安全问题, 不推荐在Root环境下运行; 且本身Linux并不推荐在Ro…

    Linux 2023年6月14日
    0171
  • 微信双开

    1、新建TXT文档 2、右击微信,点击属性,查看目标,复制目标路径 然后在txt文档写下如下内容 TASKKILL /F /IM wechat.exestart “&#…

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