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

已标记关键词 清除标记
相关推荐
项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术 几乎零XML,极简配置 两套UI实现(bootstrap+layer ui),可以自由切换 报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用B ootstrap框架,结合Jquery Ajax,整合前端Layer.js(提供弹窗)+Bootstrap-table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询优化,存储过程等),用Redis做中间缓存,缓存数据 实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+IntelliJ IDEA+maven 项目技术(必填) Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis 数据库文件 压缩包内 jar包文件 maven搭建 Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统 http://localhost:/8080/login admin admin Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统
<p> ShardingSphere:SpringBoot2+MybatisPlus+读写分离+分库分表 </p> <p> <strong>课程目标</strong> </p> <p> 快速的掌握读写分离+分表的实战,即插即用适用人群IT从业人员,开发人员,Java从业者,互联网从业者,性能调优人群课程简介 </p><p> <span>ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈。</span> </p> <p>它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成,shardingSphere定位为关系型数据库中间件。  </p> <p> <span><strong>Sharding-JDBC</strong></span> </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);">Sharding-JDBC是Sharding-Sphere的第一个产品,也是Sharding-Sphere的前身,是当当网开源的一个产品。定位为轻量级的Java框架,在Java的JDBC层提供额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。Sharding-JDBC可以通过Java,YAML,Spring命名空间和Spring Boot Starter四种方式配置,开发者可根据场景选择适合的配置方式。 </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);"><br /></p> <p> <span><strong>课程特色 </strong></span> </p> <p> <span>本章节以尽量短的时间,为使用者提供最简单的ShardingSphere的快速入门。</span><span></span> </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);"><span style="color:#323232;"><br /></span> </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);"><span style="color:#323232;"><strong>课程说明</strong></span> </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);">该课程属于系列课程,分为读写分离,分库不分表,不分库分表,分库分表,读写分离+分库分表共5个回合。 </p> <p style="color:rgb(66,66,66);font-size:14px;background-color:rgb(255,255,255);">本课程属于其中一个回合,请各位小哥哥们注意,课程的标题哦~ </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页