Mybatis_plus总结
在pom.xml里添加如下依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--不需要添加 Mybatis及Mybatis-Spring依赖,Mybatis-Plus会自动维护 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!-- 模板引擎,需要指定 mpg.setTemplateEngine(new FreemarkerTemplateEngine()); -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
</dependencies>
项目结构图。
添加3个file文件
Application.properties:
spring.datasource.platform=mysql
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&failOverReadOnly=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.max-active=50
spring.datasource.max-idle=6
spring.datasource.min-idle=2
spring.datasource.initial-size=6
server.port=8080
server.session-timeout=30
server.tomcat.uri-encoding=UTF-8
spring.thymeleaf.prefix=classpath:templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
mybatis-plus.mapper-locations=classpath:/mapping/*Mapper.xml
mybatis-plus.typeAliasesPackage=com.cn.restyle.entity
Application.yml:
spring:
datasource:
url: jdbc:mysql://本地地址:端口/数据库名?useSSL=false
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 1234
mybatis-plus:
global-config:
#主键类型 0:“数据库ID自增”, 1:“用户输入ID”,2:“全局唯一ID (数字类型唯一ID)”, 3:“全局唯一ID UUID”;
id-type: 0
#字段策略 0:“忽略判断”,1:“非 NULL 判断”),2:“非空判断”
field-strategy: 2
#驼峰下划线转换
db-column-underline: true
#刷新mapper 调试神器
refresh-mapper: true
#数据库大写下划线转换
#capital-mode: true
#序列接口实现类配置
#key-generator: com.baomidou.springboot.xxx
#逻辑删除配置(下面3个配置)
logic-delete-value: 0
logic-not-delete-value: 1
#自定义SQL注入器
#sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
#自定义填充策略接口实现
#meta-object-handler: com.baomidou.springboot.xxx
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
Mybatis-Plus.properties:
#此处为本项目src所在路径(代码生成器输出路径)
OutputDir=F:/路径/main/java
#数据库表名(此处切不可为空,如果为空,则默认读取数据库的所有表名)你用那个试试哪个路径?刚刚我找的
tableName=user
#生成代码类名类名
className=User
#设置作者
author=boka
#自定义包路径
parent=com.ruiec
#数据库地址
url=jdbc:mysql://本地地址:端口/数据库名?useUnicode=true&characterEncoding=utf-8
#数据库用户名
userName=root
#数据库密码
passWord=123456
自动生成表的各层:
package com.’包名’.pengbo;
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 boka
- @date 2018年10月16日 下午7:41:18
*/
public class MpGenerator {
public static void main(String[] args) {
GlobalConfig config = new GlobalConfig();
String dbUrl = “jdbc:mysql://localhost:3306/bia?useSSL=false”;
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL).setUrl(dbUrl)
.setUsername(“root”).setPassword(“123456”)
.setDriverName(“com.mysql.jdbc.Driver”);
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true).setEntityLombokModel(false)
.setDbColumnUnderline(true)
.setNaming(NamingStrategy.underline_to_camel);
config.setActiveRecord(false).setEnableCache(false).setAuthor(“admin”)
// 这里就直接输出到项目里面,不用再复制进来
.setOutputDir(“src\main\java”).setFileOverride(true)
.setServiceName("%sService");
new AutoGenerator()
.setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(
new PackageConfig().setParent(“com.ruiec”)
.setController(“controller”)
.setEntity(“entity”)).execute();
}
}
User实体类
User接口:
自动生成的继承了mybatis_plus的基类接口,里面有很多CRUD等的方法
Xml:
为空的 基本上的都是不用写,自定义的话可以写
Service:
接口实现类:
控制层调用:
package com.’包名’.controller;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ruiec.entity.User;
import com.ruiec.mapper.UserMapper;
import com.ruiec.service.impl.UserServiceImpl;
/**
-
User控制器
-
@author boka
-
@date 2018年10月16日 下午7:30:06
*/
@RestController
@RequestMapping("/user")
public class UserController {@Resource
private UserServiceImpl user;@Resource
private UserMapper userMapper;/**
-
CRUD方法
-
@author boka
-
@date 2018年10月16日 下午7:33:45
*/
@RequestMapping(value = “list”)
public List list() {/*
- //新增 User us=new User(); us.setUserid(1); us.setPassword(“123”);
- user.insert(us);
*/
// 删除
// int result = userMapper.deleteById(8);// 分页查询
// Page users=user.selectPage(new Page(1,10));/*
- // 初始化 User 对象 User user = new User(); //修改 user.setUserid(7);
- user.setPassword(“123456”); userMapper.updateById(user);
*/
//条件查询。 查询账号为"张三"的所有用户记录
List userList = userMapper.selectList(new EntityWrapper().eq(“account”, “张三”));return userList;
}
}
-
总结:其实很好理解的mybatis增强工具,只是由于配置文件,架包等的问题很不好弄,所以我还学着搭建了下框架,现在会用了,以后用起来就很快了,这插件还是蛮好的。
其中用的是baomidou的mybatis_plus插件,新人小白,写的不好的地方请见谅~