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中查询当前数据库中的所有表空间和对应的数据文件语句命令 ------------------------------------------------------------------ ...
随机推荐
- VC中BSTR、Char*、CString和CComBSTR类型的转换
原文:http://blog.csdn.net/wanghaihao_1/article/details/37498689 1.char*转换成CString 若将char*转换成CString,除了 ...
- SQL Server ->> PARSE函数
这个函数和TRY_PARSE一起从SQL Server 2012引入.它的存在是因为TRY_PARSE一旦遇到无法成功转换就会以NULL值返回,而如果你希望以报错的形式,你就可以用PARSE. 比如 ...
- ubuntu 启用root用户方法
1.按下ctrl + alt + T,输入 sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的 ...
- January 19 2017 Week 3 Thursday
What a man needs most is appreciated. 人性最深切的需求就是渴望别人的赞赏. Being appreciated by others is very importa ...
- python数据处理——numpy
标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个 ...
- [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片
在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张bmp图,但是如果是一张png或者一张jpg的图,那么还能显示成功么?答案是否定的 我们需要移植SDL_image库来支持除bm ...
- PhoneGap 的存储 API_localStorage 和 sessionStorage
一.介绍 1.为了替代Cookile这门古老的客户端存储技术,Html5的WEB Storage Api 提供了俩中在 客户端存储数据库的方法:localStorage 和 sessionStorag ...
- JAVA JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
http://blog.csdn.net/ourpush/article/details/53706524 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语 ...
- 牛客网多校训练第一场 E - Removal(线性DP + 重复处理)
链接: https://www.nowcoder.com/acm/contest/139/E 题意: 给出一个n(1≤n≤1e5)个整数(范围是1至10)的序列,求从中移除m(1≤m≤min(n-1, ...
- 用SQL实现的BASE64加密及解密函数(SQL2005以上有效)
CREATE FUNCTION [dbo].[f_base64_encode] (@bin varbinary(max)) returns varchar(max) as begin return c ...