本篇给大家说一个以后可能会用到的东西,mybatisplus自带了一个代码生成器,他可以大大的减少我们的开发时间,只不过细微的类名之类的东西,你需要自己改一改
第一步:打开知识点2项目中的代码,可以发现Service和Dao我们自定义的类里面什么都没有,比如UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wy.scjg.mapper.UserMapper">
</mapper>
此时整体的项目结构是下图这样的
第二步:在测试路径下建立MyplusAutoGenerator类,并且配置之后直接运行
package com.wy.scjg;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class MyplusAutoGenerator {
public static void main(String[] args) {
//1.自动生成代码的对象
AutoGenerator mp = new AutoGenerator();
//1.1 全局设置
GlobalConfig gc = new GlobalConfig();
//设置作者
gc.setAuthor("wy");
//设置输出的路径
gc.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
//设置输出是否打开
gc.setOpen(false);
//设置生成返回的map结果集
gc.setBaseResultMap(true);
//设置生成返回的列
gc.setBaseColumnList(true);
mp.setGlobalConfig(gc);
//1.2 数据库设置
DataSourceConfig dsc = new DataSourceConfig();
//数据库驱动
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
//修改自己的数据库的连接地址
dsc.setUrl("jdbc:mysql://localhost:3306/test?characterEncoding=UTF8&userSSL=false&serverTimezone=GMT%2B8");
//数据库用户名
dsc.setUsername("root");
//数据库密码
dsc.setPassword("123456");
mp.setDataSource(dsc);
//包的设置
PackageConfig pc = new PackageConfig();
//设置xml文件的名称
pc.setXml("mapper.mappers");
//系统当前包名
pc.setParent(MyplusAutoGenerator.class.getPackage().getName());
mp.setPackageInfo(pc);
//1.4 生成策略
StrategyConfig sc = new StrategyConfig();
//生成那些表
sc.setInclude("user"); //包括那些表
//sc.setExclude();//排除那些表
sc.setEntityLombokModel(true);//开启lombok模式
//设置命名规范
sc.setNaming(NamingStrategy.underline_to_camel);
sc.setColumnNaming(NamingStrategy.underline_to_camel);
//生成命名规范
mp.setStrategy(sc);
//2.执行生成
mp.execute();
}
}
运行后你就会发现你的项目结构乱了,变成了下图的结构
大家自己使用的时候,可以把原先的代码全删除掉,他整体上对开发还是有帮助的,只不过它生成的东西我们要使用的时候需要细微的改动一下。并且它的使用不是很频繁,我们开发的时候,每个项目都有各自的开发标准,生成器没有办法完全实现,最多就是用它生成一些,没有实际业务意义的代码。总之使用起来也不是很顺畅,大家了解一下,知道有这个东西就行。