1. 简介 (玉米地传送门)
Mybatis-Plus(简称MP)是baomidou 组织小伙伴 Mybatis 的增强。在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2. 撸码 (基本和ssm框架搭建相似)
1)基本目录(其中java文件夹的目录可以不用创建,使用MP的代码生成器)
image.png
2) 主要配置
-mybatis-config.xml
/p>
PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
spring-mybatis引入分页,扫描注入
pom文件
com.baomidou
mybatis-plus
${mybaitsplus.version}
mysql
mysql-connector-java
${mysql.version}
com.alibaba
druid
${druid.version}
org.apache.velocity
velocity
1.7
3. 敲黑板~~MP代码生成器(建议数据库表名 和 表字段名采用驼峰命名方式)
1). 代码生成器核心依赖
org.apache.velocity
velocity
1.7
2). 使用方式
我这里是在test里创建的测试类
test
GeneratorServiceEntity
package generator;
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.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;
public class GeneratorServiceEntity {
@Test
public void generateCode() {
String packageName = "com.zhoust";
boolean serviceNameStartWithI = false;//user -> UserService, 设置成true: user -> IUserService
//需要的表名,多个表名传数组
generateByTables(serviceNameStartWithI, packageName, "com_user");
}
private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
GlobalConfig config = new GlobalConfig();
String dbUrl = "jdbc:mysql://自己的数据库地址";
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL)
.setUrl(dbUrl)
.setUsername("自己的连接名")
.setPassword("自己的连接密码")
.setDriverName("com.mysql.jdbc.Driver");
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig
.setCapitalMode(true)
.setEntityLombokModel(false)
.setDbColumnUnderline(true)
.setNaming(NamingStrategy.underline_to_camel)
.setInclude(tableNames);
config.setActiveRecord(false)
.setAuthor("zhoust")
//代码生成目录
.setOutputDir("D:\\workspace\\dome\\per_center\\src\\main\\java")
.setFileOverride(true);
if (!serviceNameStartWithI) {
config.setServiceName("%sService");
}
new AutoGenerator().setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(
new PackageConfig()
.setParent(packageName)
.setController("controller")
.setEntity("entity")
).execute();
}
private void generateByTables(String packageName, String... tableNames) {
generateByTables(true, packageName, tableNames);
}
}