Mybatis根据数据库中的表自动生成Bean对象与Mapper文件 (小白式教程)
示例IDE采用 IDEA
//**********************华丽的分割线****************//
1.新建一个java项目-->在Src目录下创建3个包(Package)与一个文件夹(Directory)
Package(包)-
①bean:存放自动生成的Java Bean
②mapper:存放自动生成的mapper接口与对应的.xml文件
③test:存放一个main方法用于执行自动生成操作
Directory(目录)::
lib:存放项目所需要导入的包

2.向lib导入所需的包(记得让项目关联上这4个包,教程结束处附上资源链接)

3.右击Src目录-->new-->File (新建两个配置文件db.properties与config.xml)
db.properties:用于存放链接数据库的基本配置信息
config.xml:存放Mybatis相关配置信息


配置文件代码:
db.properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_mybatis
jdbc.username=root
jdbc.password=a123456
注:如果使用的为MySQL8.0相应的url需在后面加上allowPublicKeyRetrieval=true
即
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_mybatis?allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=a123456
config.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>
<!--读取数据库配置文件-->
<properties resource="db.properties"/> <context id="Mygenerator" targetRuntime="MyBatis3"> <!-- 通过这个属性去掉自动生成的时候跟随生成的一些注释 -->
<commentGenerator><!--非必要部分-->
<!-- 去掉注释 -->
<property name="suppressAllComments" value="true"/>
<!--去掉时间戳 -->
<property name="suppressDate" value="true"/>
</commentGenerator> <!--配置数据库链接-->
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.username}"
password="${jdbc.password}">
</jdbcConnection> <!-- java与jdbc数据转换 -->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
javaModelGenerator java bean配置
targetpackage 输出路径
targetProject 输出项目位置
-->
<javaModelGenerator targetPackage="com.ATrose.bean" targetProject="src">
<!--enableSubPackages是否开启子包名,是否在名称后面加上scheme-->
<property name="enableSubPackages" value="false" /> <!--在set中去掉空格 (trim)-->
<property name="trimStrings" value="true" />
</javaModelGenerator> <!-- 生成的mapper.xml -->
<sqlMapGenerator targetPackage="com.ATrose.mapper" targetProject="src">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator> <!-- 生成的java接口的配置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.ATrose.mapper" targetProject="src">
<property name="enableSubPackages" value="false" />
</javaClientGenerator> <!--需要自动生成的表的表名-->
<table tableName="user"/>
<table tableName="country"/> </context>
</generatorConfiguration>
4.在test包中新建一个java类

在新建的java类中创建一个main方法 输入一下代码(或者直接全部copy)
generator.java
package com.ATrose.test; 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.File;
import java.util.ArrayList;
import java.util.List; public class generator {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src/config.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
5.执行main方法即可生成我们所需要的内容

//自动生成的mapper.xml

教程到此结束
//*******************华丽的分割线*********************//
所需导入的包:
链接: https://pan.baidu.com/s/1sscqW9fGllOs5jqRVyGbbg 提取码: 1zfz
Mybatis根据数据库中的表自动生成Bean对象与Mapper文件 (小白式教程)的更多相关文章
- mybits根据表自动生成 java类和mapper 文件
mybits根据表自动生成 java类和mapper 文件 我这个脑子啊,每次创建新的工程都会忘记是怎么集成mybits怎么生成mapper文件的,so today , I can't write t ...
- 第二篇 Springboot mybatis generate根据数据库表自动生成实体类、Mapper和Mapper.xml
源码链接:https://pan.baidu.com/s/1iP4UguBufHbcIEv4Ux4wDw 提取码:j6z9 目录结构如下:只需增加一个generatorConfig.xml文件和在po ...
- MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...
- mybatis 逆向工程(通过数据库表针对单表自动生成mybatis执行所需要的代码)
mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员 ...
- Idea根据表自动生成实体
Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...
- Go语言根据数据表自动生成model以及controller代码
手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0 这里仅说明自动生成model文件的过程 bee generate appcode -tabl ...
- 基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件
AutoApi 基于SqlKata Query Builder的可根据数据表自动生成Restful API的dotnet中间件 项目地址 Github Gitee 支持的数据库 MySql AutoA ...
- 通过mybatis向数据库中插入日期数据
遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可 ...
- Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ------------------------------------------------------------------ ...
随机推荐
- NgModelController: $setViewValue,$render,Formatter, Parser
NgModelController为ngModel directive提供了API.这个controller包含了关于data-binding,validation,css update, value ...
- Linux 内核超时导致虚拟机无法正常启动
问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到超时的报错.导致虚拟机无法正常启动和连接. 问题分析 常见的超时报错范例如下: 复制 INFO: task swapper:1 ...
- MySQL MHA搭建
MHA算是业内比较成熟的MySQL高可用解决方案,在MySQL故障切换过程中,MHA能做到自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义 ...
- Web API 2 入门——Web API 2中的操作结果(谷歌翻译)
在这篇文章中 空虚 HttpResponseMessage IHttpActionResult 其他返回类型 作者:Mike Wasson 本主题描述ASP.NET Web API如何将控制器操作的返 ...
- Python学习---线程锁/信号量/条件变量同步/线程池1221
线程锁 问题现象: 多线程情况下,CPU遇到阻塞会进行线程的切换,所以导致执行了tmp-=1的值还未赋值给num=tmp,另一个线程2又开始了tmp -=1,所以导致最后的值重复赋值给了num,所以出 ...
- 平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了
1.平衡二叉树 (1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构: (2)特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无 ...
- 200. Number of Islands + 695. Max Area of Island
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- 从0开始学CentOS7(1)
首先,先来几句简介吧.. java开发一枚,总觉得自己的技术提升缓慢... 最近看到同事有在论坛发发自己的心得什么的...我脑中晃出的灵光就是:好记性不如烂笔头,试试吧~ 好了,正式开始了..cent ...
- python date,datetime 和time的区别
这是三个不同类型的数据,例如 2015-11-21 10:51:20: date是日期,表示的是 2015-11-21: datetime是日期时间,表示的是 2015-11-21 10:51:20: ...
- 用SQL实现的BASE64加密及解密函数(SQL2005以上有效)
CREATE FUNCTION [dbo].[f_base64_encode] (@bin varbinary(max)) returns varchar(max) as begin return c ...