mybatisPlus在Springboot中的使用
文章目录
- 官方地址:http://mp.baomidou.com
- 代码发布地址:Gitee:https://gitee.com/baomidou/mybatis-plus
- 文档发布地址:https://baomidou.com/pages/24112f
1、简介
2、支持的数据库
3、框架
4、创建一个springboot项目
目录结构:
4.1 、pom文件中加入依赖
<!-- mybatisPlus的依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- lombox的依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- mysql的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
这里可能会出现的问题:编译打包不成功(修改版本)。
解决方法如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--在这里修改版本-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<!---->
</plugins>
</build>
4.2、yml文件的配置
spring:
# 配置数据源信息
datasource:
# 配置数据源类型
type: com.zaxxer.hikari.HikariDataSource
# 配置连接数据库的各个信息
username: root
password: root
url: jdbc:mysql://localhost:3306/mybatis_plus?allowMultiQueries=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 8383
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4.3 、数据库脚本
创建数据库和表
CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
use `mybatis_plus`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
表中插入数据
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
4.4、实体类
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
4.5 、启动类添加包扫描
@SpringBootApplication
//扫描mapper接口所在的包
@MapperScan("com.zyz.mybatisplus.mapper")
public class MybatisplusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisplusApplication.class, args);
}
}
4.6、 mapper包下的UserMapper接口
@Repository
public interface UserMapper extends BaseMapper<User> {
}
4.7、 测试mybatisplus
@SpringBootTest
public class MyBatisPlusTest {
@Autowired
private UserMapper userMapper;
// @Test
// public void testSelectList() {
//
// List<User> list = userMapper.selectList(null);
// list.forEach(System.out::println);
//
// }
// 测试增加
@Test
public void testAdd(){
//实现用户新增
//INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
User user = new User();
// user.setId(5L);
user.setName("张三");
user.setAge(23);
user.setEmail("zhangsan@qq.com");
int rs = userMapper.insert(user);
System.out.println("测试结果:"+rs);
System.out.println(user.getId());
}
@Test
public void testDelete(){
/**
* 1、根据id删除信息
* DELETE FROM user WHERE id=?
*/
int rs = userMapper.deleteById(5L);
System.out.println(rs);
/**
* 2、根据map集合中所设置的条件删除用户信息
* DELETE FROM user WHERE name = ? AND age = ?
*/
// HashMap<String, Object> map = new HashMap<>();
// map.put("name","张三");
// map.put("age",23);
// int rs = userMapper.deleteByMap(map);
// System.out.println(rs);
/**
* 通过多个id实现批量删除
* DELETE FROM user WHERE id IN ( ? , ? , ? )
*/
// List<Long> list = Arrays.asList(1L,2L,3L);
// int rs = userMapper.deleteBatchIds(list);
// System.out.println(rs);
}
@Test
public void testUpdate(){
/**
* 修改用户信息
* UPDATE user SET name=?, email=? WHERE id=?
*/
User user = new User();
user.setId(4L);
user.setName("李四");
user.setEmail("lisi@qq.com");
int rs = userMapper.updateById(user);
System.out.println(rs);
}
@Test
public void testSelect(){
/**
* 通过id查询用户信息
* SELECT id,name,age,email FROM user WHERE id=?
*/
// User user = userMapper.selectById(4L);
// System.out.println(user);
/**
* 根据id批量查询用户信息
* SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
*/
// List<Long> list = Arrays.asList(4L,5L);
// List<User> users = userMapper.selectBatchIds(list);
// users.forEach(System.out::println);
/**
* 根据条件查询用户信息
* SELECT id,name,age,email FROM user WHERE name = ? AND age = ?
*/
// Map<String,Object> map = new HashMap<>();
// map.put("name","李四");
// map.put("age",21);
// List<User> users = userMapper.selectByMap(map);
// users.forEach(System.out::println);
//自定义sql语句查询用户信息
Map<String,Object> map = userMapper.selectMapById(1L);
System.out.println(map);
}
}
mybatisPlus在Springboot中的使用的更多相关文章
- SpringBoot中的自动代码生成 - 基于Mybatis-Plus
作者:汤圆 个人博客:javalover.cc 前言 大家好啊,我是汤圆,今天给大家带来的是<SpringBoot中的自动代码生成 - 基于Mybatis-Plus>,希望对大家有帮助,谢 ...
- springboot中使用mybatisplus自带插件实现分页
springboot中使用mybatisplus自带插件实现分页 1.导入mybatisplus分页依赖 <dependency> <groupId>com.baomidou& ...
- Mybatis-plus<一> Springboot框架使用MybatisPlus代码自动生成器
Mybatis-plus<一> Springboot框架使用MybatisPlus代码自动生成器 Mybatis-plus官网: https://mp.baomidou.com/ Demo ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- 如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧
做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot ...
- springboot中swaggerUI的使用
demo地址:demo-swagger-springboot springboot中swaggerUI的使用 1.pom文件中添加swagger依赖 2.从github项目中下载swaggerUI 然 ...
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...
- 由浅入深学习springboot中使用redis
很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...
- Springboot中使用AOP统一处理Web请求日志
title: Springboot中使用AOP统一处理Web请求日志 date: 2017-04-26 16:30:48 tags: ['Spring Boot','AOP'] categories: ...
随机推荐
- Docker 链接sqlserver时出现en-us is an invalid culture错误解决方案
在部署服务到docker的时候出现全球化错误 System . Global ization . Cul tureNotFoundException: Only the invariant cultu ...
- 笃情开源:我和 Apache DolphinScheduler 社区的故事
背景 本文的主人翁是 2 次飞机参会现场交流,四天研究就把 DolphinScheduler 用上生产的来自车联网行业的大数据 boy - 黄立同学.怎么样,听起来是不是有点 crazy?下面就来看看 ...
- Spring源码 08 IOC refresh方法3
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- Git 06 分支
参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 概述 分支用 ...
- 从零开始Blazor Server(12)--编辑菜单
上个星期有点事,导致没法及时更新.现在我们继续更我们的从零开始系列. 这个系列也快要结束了,目前规划再有2-3篇,就结束了. 今天我们来说编辑菜单的问题,说实话菜单这种东西,你不更新代码加个页面,单独 ...
- day29--Java泛型02
Java泛型02 5.自定义泛型 5.1自定义泛型类 基本语法: class 类名<T,R...>{//-表示可以有多个泛型 成员 } 注意细节: 普通成员可以使用泛型(属性.方法) 使用 ...
- redis缓存恢复-2022新项目
一.业务场景 Web项目开发中,为了加快数据处理的的效率,大量的使用了各种缓存,缓存技术主要使用的是redis.导致出现的小小的 问题是对redis缓存形成了一个比较强的依赖,并且有的数据暂时是没有同 ...
- aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译
简介 aardio 可以非常方便地调用 .NET( 不需要任何复杂的步骤 ). .NET 在 aardio 中很好用,系统自带 .NET 组件以及各种开源 .NET 组件在 aardio 用户中也很受 ...
- Centos7 安装部署Kubernetes(k8s)集群
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...
- 【Shashlik.EventBus】.NET 事件总线,分布式事务最终一致性
[Shashlik.EventBus].NET 事件总线,分布式事务最终一致性 简介 github https://github.com/dotnet-shashlik/shashlik.eventb ...