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中查询当前数据库中的所有表空间和对应的数据文件语句命令 ------------------------------------------------------------------ ...
随机推荐
- babel的使用以及安装配置
简介 babel是一个广泛使用的转码器,可以将ES6代码转化为ES5代码,从而在现有环境执行,这意味着,你可以现在就用ES6编写程序,而不用担心现有环境是否支持. 安装及配置 npm install ...
- c# 修改winform中app.config的配置值
public bool ChangeConfig(string AppKey,string AppValue) { bool result = true; try { XmlDocument xDoc ...
- jquery mobile开发中常见的问题(转载)
1页面缩放显示问题 问题描述: 页面似乎被缩小了,屏幕太宽了. 处理方法: 在head标签内加入: <meta name="viewport" content="w ...
- leetcode-distinct sequences
Solution: when see question about two strings , DP should be considered first. We can abstract this ...
- Stack vs Heap
http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...
- js计算时间差(天,小时,分钟,秒)
<script type="text/javascript"> var date1= '2015/05/01 00:00:00'; //开始时间 var date2 = ...
- iptables:no config file
防火墙规则默认都是在/etc/sysconfig/iptables这个文件中的 出现这个问题,是因为在/etc/sysconfig/目录下没有找到iptables这个文件 可以使用service ip ...
- js中直接调用函数和new函数的区别
如果函数返回值为常规意义上的值类型(Number.String.Boolean)时,new函数将会返回一个该函数的实例对象,而如果函数返回一个引用类型(Object.Array.Function),则 ...
- TIAGO机器人传感器参数简介 手册翻译
本来认为这篇文章是最没人气的,竟然收到了回复,看来要继续更新本文了.留下笔者联系方式,邮箱leop22@163.com,欢迎邮件交流. 防止不良爬虫,原文链接:http://www.cnblogs.c ...
- python csv写入数据,消除空行
import csv rowlist=[{'first_name': 'mark', 'last_name': 'zhao','age':21}, {'first_name': 'tony', 'la ...