Springboot+mybatis_plus整合例子

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插件,新人小白,写的不好的地方请见谅~

猜你喜欢

转载自blog.csdn.net/qq_39511861/article/details/83096873