springboot_2.2.2.RELEASE集成mybatisplus2.x
这一篇我们讲解如何在springboot下整合mybatisplus,并访问数据库。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
我们先看下它的图标,感觉非常的有趣,用mybatisplus主要是因为它的方便,配置好数据文件后,运行自动成配置文件,就可以生成controller、service、dao、mapper等文件,不用我们一步步的编写相应的文件,比mybatis编写速度,快了不止一点点,好了,话不多说,直接进入主题。
第一,创建一个springboot项目,这里不再展示,如有需要,可以自行百度,也可私信我。
第二,导入相应的包,如下所示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mysql驱动连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!--mybatisplus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
<!-- 模板引擎 mybatisplus自动生成必备 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity-engine-core-version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
其中版本的配置如下:
<mybatis.plus.version>2.3</mybatis.plus.version>
<mysql.version>8.0.12</mysql.version>
<fastjson.version>1.2.7</fastjson.version>
<mybatis.version>3.5.3</mybatis.version>
第三,编写自动生成类CodeGenerator,主要配置编译的路径、数据库的配置、要自动生成的表,具体的代码如下所示:
package com.ygkj.mybatisplus.util;
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;
/**
* @author hu cong
* @date 2020/1/17 16:56
* @Description: 表结构自动转换controller、service、dao、xml类
*/
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");//取得当前工程文件夹的路径
gc.setOutputDir(projectPath + "/mybatisplus" + "/src/main/java");//此处我是有父子工程,如果你只是单个工程,只需设置"/src/main/java"即可
gc.setFileOverride(true);
gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor("hucong");// 作者
gc.setOpen(false);//自动生成是否打开文件夹
// 自定义文件命名,注意 %s 会自动填充表实体属性!,如不需要可以不设置
gc.setControllerName("%sController");
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setMapperName("%sMapper");
gc.setXmlName("%sMapper");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/jfinal");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为你的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { "user" }); // 需要生成的表
strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.ygkj.mybatisplus");
pc.setController("controller");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setMapper("dao");
pc.setEntity("model");
pc.setXml("xml");
mpg.setPackageInfo(pc);
// 执行生成
mpg.execute();
}
}
运行就可以生成,美滋滋!!!接下来,你就在controller中编写查询语句了。
第四,application.properties参数
spring.datasource.url=jdbc:mysql://localhost:3306/jfinal?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis-plus.mapper-locations=classpath:com/ygkj/mybatisplus/xml/*.xml
第五,将mapper的xml文件打包到classpath中
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<!--将xml文件打包到classpath中-->
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
注:如果你要使用自定义的sql,而不是使用mybatisplus的类配置语句,那么,你就学要在mapper的接口中,加上@Mapper 注解,即可完成使用,不然会报mapper找不到。
github地址:https://github.com/karill/myspringbootdemo/tree/master/mybatisplus
上一篇: Hutool Java工具类库导出Excel,超级简单!
下一篇: Java 使用POI生成word