1 创建SpringBoot工程
这里不做具体记录,创建工程往常教程很多,
下面贴出重要文件和注意事项
1.1 pom.xml
<?xml version="1.0" encoding="UTF-8"?>4.0.0 show.mrkay boot-mybatis-generator 1.0-SNAPSHOT jar org.springframework.boot spring-boot-starter-parent 2.2.6.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test mysql mysql-connector-java com.alibaba druid-spring-boot-starter 1.1.9 org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.0 org.springframework.boot spring-boot-starter-aop org.slf4j jcl-over-slf4j org.slf4j slf4j-log4j12 org.springframework.boot spring-boot-maven-plugin org.mybatis.generator mybatis-generator-maven-plugin 1.4.0 true true mysql mysql-connector-java 5.1.47
1.2 application.yml
server: port: 8080 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/generaltor?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT username: root password: lk0313 druid: db-type: com.alibaba.druid.pool.DruidDataSource # 下面不配置就是采用默认配置 # filters: stat # maxActive: 20 # initialSize: 1 # maxWait: 60000 # minIdle: 1 # timeBetweenEvictionRunsMillis: 60000 # minEvictableIdleTimeMillis: 300000 # validationQuery: select 'x' # testWhileIdle: true # testOnBorrow: false # testOnReturn: false # poolPreparedStatements: true # maxOpenPreparedStatements: 20 mybatis: # 该配置项配置了MyBatis配置文件保存路径 mapper-locations: classpath*:show/makey/dao/*.xml # 配置扫描对应实体所在包,将mapper的实现类注入容器我们在启动器类上加了@MapperScan注解这里就不需要了 logging: file: path: /logs # type-aliases-package: show.mrkay.dao
1.3 generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
步骤:
1 导入依赖
2 创建*generaltorConfig.xml配置文件
3 配置yml配置文件
注意:
pom中generalto-maven-plugs中必须指定mysql驱动,并且明确版本
generaltorConfig.xml中的
标签中需要指定tableName和生成的实体名字
2 创建数据库表
-- 建表语句: /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.5.40 : Database - generaltor ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`generaltor` /*!40100 DEFAULT CHARACTER SET utf8 */; /*Table structure for table `student` */ DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(15) DEFAULT NULL, `sex` varchar(2) DEFAULT NULL, `phone` int(15) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; /*Data for the table `student` */ insert into `student`(`id`,`name`,`sex`,`phone`) values (1,'lk','男',12345578); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
3 运行
如果使用IDEA 我们只需要找到右边侧栏中的maven(没有记得调出了)
找到plugins–>mybatis-generaltor–>mybatis-generaltor:generaltor 之后双击即可,此时刷新一下项目就自动生成我们想要的,mapper和xml以及pojo
4 测试
创建穿点controller和service 来完成一次测试,
package show.mrkay.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.support.JstlUtils;
import show.mrkay.dao.StudentMapper;
import show.mrkay.pojo.Student;
import show.mrkay.service.UserService;
import java.util.List;
/**
* @ClassName: UserController
* @description: 用户Controller
* @Author: MrKay
* @Date: 2020/11/8
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/alllist")
public List selectAll(){
return userService.selectAll();
}
} package show.mrkay.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import show.mrkay.dao.StudentMapper;
import show.mrkay.pojo.Student;
import java.util.List;
/**
* @ClassName: UserService
* @description: UserService
* @Author: MrKay
* @Date: 2020/11/8
*/
@Service
public class UserService {
@Autowired
private StudentMapper studentMapper;
public List selectAll(){
List students = studentMapper.selectAll();
return students;
}
} package show.mrkay;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("show.mrkay.dao")
public class GeneratorApplication {
public static void main(String[] args) {
SpringApplication.run(GeneratorApplication.class, args);
}
}注意:
启动器类中需要加入@MapperScan(“mapper接口所在包”)注解,这样我们就不需要手动创建实现类了,mybatis会自动帮我们创建
启动之后:
地址栏输入 localhost:8080/user/alllist
得到查询结果:
[{"id":1,"name":"lk","sex":"男","phone":12345578}]