上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合。

我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够的,下面我们要完善相关依赖

首先建立test1数据库,创建一个简单的user表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(10) NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL COMMENT '用户名',`age` varchar(255) DEFAULT NULL COMMENT '年龄',`city` varchar(255) DEFAULT NULL COMMENT '城市',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;INSERT INTO `user` VALUES ('1', '张三', '22', '上海');
INSERT INTO `user` VALUES ('2', '李四', '25', '阜阳');

完善pom.xml

添加Druid数据库连接池依赖

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version>
</dependency>
<!--MyBatis逆向工程--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.6</version></dependency>

添加逆向工程插件

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><verbose>true</verbose><overwrite>true</overwrite></configuration>
</plugin>

下面就是对application.properties的配置了

application.properties

#服务器
server.port=8080
server.servlet.context-path=/#热部署
spring.devtools.remote.restart.enabled=true
spring.devtools.restart.additional-paths=springboot-mybatis/src/main## 数据库连接配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test1?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=1234#默认编码配置
spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8## MyBatis相关配置
mybatis.type-aliases-package=com.jiangfeixiang.springbootswgger2api.entity
mybatis.mapper-locations=mapper/*.xml

上面这些都很简单,这里不做过多解释。

下面是最重要的一个配置generatorConfig.xml用于生成对应的实体类,mapper.xml映射以及mapper接口

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><!--指定数据库的jdbc驱动jar包的位置--><classPathEntry location="D:\\mavenrepository\\mavenrepository\\repo\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/><context id="DB2Tables" targetRuntime="MyBatis3"><!--是否在代码中显示注释--><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库链接地址账号密码--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/test1?characterEncoding=UTF-8"userId="root"password="1234"></jdbcConnection><!--生成pojo类存放位置--><javaModelGenerator targetPackage="com.example.springbootmybatis.entity" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!--生成xml映射文件存放位置--><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!--生成mapper类存放位置--><javaClientGenerator type="XMLMAPPER" targetPackage="com.example.springbootmybatis.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--生成对应表及类名--><table tableName="user" domainObjectName="User" enableCountByExample="true"enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true"selectByExampleQueryId="true"></table></context>
</generatorConfiguration>

相关说明已经在注释里写出

  • 主要几个配置说明
  1. 指定数据库的jdbc驱动jar包的位置
<classPathEntry location="D:\\mavenrepository\\mavenrepository\\repo\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/>

这个是您本地mysql jar的位置可以参考如下选择

  1. targetPackage:是你工程中对应包的路径
    targetProject:是这个包在java还是在resources目录下,要是java目录下就是src/main/java,resources目录下就是src/main/resources
  2. tableName:是数据库中表的名字;
    domainObjectName:是对应实体类的名字

上面完成之后接下来就是利用插件一键生成对应数据了,参考下图:


成功之后可以看到entity包,mapper包等生成对应的数据了

转载于:https://www.cnblogs.com/smfx1314/p/10334332.html

springboot整合mybatis增删改查(三):mybatis逆向工程相关推荐

  1. springboot整合mongodb增删改查入门

    1.配置与依赖 2.实体与repository层 3.测试 适合新手. 要求:安装好mongodb 代码和运行程序如下: 目录: 1.配置与依赖 <dependency><group ...

  2. springboot 整合 mongodb 增删改查 第二篇

    1 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>sp ...

  3. SpringBoot+MyBatisPlus+Vue增删改查

    SpringBoot+MyBatisPlus+Vue增删改查 建议在写之前会熟练使用vue脚手架,以及掌握vue相关知识 本文章会教你构建一个springboot+mybatisplus+vue 的增 ...

  4. spring入门(11)-spring与hibernate整合完成增删改查的操作(封装HibernateTemplate模版类对象)

    今天是spring的最后一节课,这节课老师讲了spring与hibernate整合完成增删改查的操作,这是很重要的一节课,这也是第一次真正的实现spring结合Hibernate和数据库连接上,下面是 ...

  5. 【Mybatis 之应用篇】1_Mybatis简介、第一个Mybatis程序和增删改查在Mybatis中的使用方式

    文章目录 Mybatis 一.简介 1.持久化 2.持久层 3.为什么需要Mybatis? 二.第一个Mybatis程序 1.创建一个数据库 2.配置pom.xml文件 3.创建实体类 4.创建一个M ...

  6. springboot(测试类)整合mybatisplus增删改查

    文章目录 下载地址 1.创建springboot项目(Spring Initializer快速创建) 2.配置文件,数据库等 3.配置,策略,实体类 4.增删改查 查询 查询全部 查询-根据id批量查 ...

  7. Mybatis——增删改查(CRUD)操作

    java学习--Mybatis CRUD操作 mybatis是一个可以自定义SQL.存储过程和高级映射的持久层框架.上面这个定义是在百度上抄的,简单来说,Mybatis简化了我们对数据库的一系列操作, ...

  8. SSM框架——Mybatis增删改查

    目录 目录 环境配置 增删改查的实现 查询全部 查询单个ID 添加用户 修改用户 删除用户 增删改查-使用注解开发 思路流程:搭建环境-->导入Mybatis--->编写代码---> ...

  9. Mybatis增删改查

    增删改查基本上就是一个操作,一模一样的,首先是UserMpper接口: package com.ftz.Demo.dao;import com.ftz.Demo.po.User;import java ...

  10. ssm整合的增删改查

    maven+ssm+bootstrap实现简单的增删改查 学习完ssm框架以后 做的第一个完整的增删改查 是在博客园找到的一个小demo,我自己稍微修改了一下,加入了bootstrap和mybatis ...

最新文章

  1. 【剑指offer-Java版】40数组中只出现一次的数字
  2. windows bat脚本中调用Cygwin并执行命令
  3. formValidator的一些验证实例
  4. HDU - 5335 Walk Out(bfs+路径输出+贪心)
  5. java 遍历map获取下标_java 遍历Map并且获取其中的键值
  6. HBuilder 打包流程
  7. c++ 类和对象的内存管理
  8. 用python求两个人的平均身高_黄哥Python:分治算法(Divide-and-Conquer)
  9. python推荐系统算法朴素贝叶斯_机器学习经典算法之朴素贝叶斯分类
  10. uboot加载linux内核加载那些内容,几个地址参数及uboot加载启动内核过程的理解
  11. Matlab中的逻辑运算与,||与|的区别
  12. 新员工进入公司,应告知的工作纪律
  13. PDF在线阅读开发经验(FlexPaper+SWFTools+SaveAsPDFandXPS)【转】
  14. 实战揭秘地方性社区门户站运营大法
  15. 2017年10大主流编程语言最新排行榜出炉
  16. 剑指offer第9题及扩展 斐波那契数列
  17. 如何处理CU2X0-2 (DP)变频器的F01910故障
  18. Image Splicing Forgery Detection Combining Coarse to Refined Convolutional Neural Network and Adapti
  19. 微信小程序嵌套h5页面+发布微信小程序(超级简单)
  20. centos 5.2自动安装的php不支持mysql?

热门文章

  1. 树形控件Tree Control
  2. GPM - 多语言实现视频
  3. HttpWebRequest WebResponse 对象简单了解
  4. 【JOURNAL】911的虚惊
  5. 48.动态分区匹配算法(连续分区)
  6. Linux系统中ctrl+c、 ctrl+z、 ctrl+\ 产生的信号名称
  7. 没有人会尊重弱者,把弱者当成朋友!人们永远追随强者,永远和强者结盟!
  8. C#语言编程之抽象类与接口的比较
  9. 2020年全国硕士研究生招生考试考生进入复试的初试成绩基本要求(学术学位类)
  10. Linux grep不包含某些字符串的命令