Spring Boot+MyBatis+Mysql

添加依赖

引入 lombok、mysql-connector-java 、mybatis-plus-boot-starter 依赖:

org.projectlombok

lombok

true

mysql

mysql-connector-java

5.1.44

com.baomidou

mybatis-plus-boot-starter

3.3.2

配置

在 application.properties 配置文件中添加 mysql数据库的相关配置

#数据库配置

spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 目录:

@SpringBootApplication

@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")

public class Application {

public static void main(String[] args) {

SpringApplication.run(QuickStartApplication.class, args);

}

}

注:MapperScan后面的路径必须是自己mapper文件的目录

编码

1、编写实体类 User.java

package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

@Data

@TableName(value = "user")

public class User {

private Long id;

private String name;

private Integer age;

private String email;

}

2、编写Mapper类 UserMapper.java

package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.example.demo.entity.User;

public interface UserMapper extends BaseMapper {

}

3、编写Controller类 UserController.java

package com.example.demo;

import com.example.demo.entity.User;

import com.example.demo.mapper.UserMapper;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

@Controller

public class UserController {

@Autowired

private UserMapper userMapper;

@ResponseBody

@RequestMapping("/")

public Map index(){

Map result = new HashMap<>(16);

List data = new ArrayList<>();

result.put("errCode",0);

result.put("errMsg","获取成功");

List list=userMapper.selectList(null);

if(list!=null&&list.size()>0){

for(User g:list){

data.add(g.toString());

}

}else{

result.put("errMsg","获取失败");

}

result.put("data",data);

return result;

}

}

调试

1、测试

@RunWith(SpringRunner.class)

@SpringBootTest

public class SampleTest {

@Autowired

private UserMapper userMapper;

@Test

public void testSelect() {

System.out.println(("----- selectAll method test ------"));

List userList = userMapper.selectList(null);

Assert.assertEquals(5, userList.size());

userList.forEach(System.out::println);

}

}

注:UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper,所以不填写就是无任何条件

控制台输出:

User(id=1, name=Jone, age=18, email=test1@baomidou.com)

User(id=2, name=Jack, age=20, email=test2@baomidou.com)

User(id=3, name=Tom, age=28, email=test3@baomidou.com)

User(id=4, name=Sandy, age=21, email=test4@baomidou.com)

User(id=5, name=Billie, age=24, email=test5@baomidou.com)

2、浏览器访问

输出结果

{

"data": [

"User{id=1, name='Jone', age=18, email='test1@baomidou.com'}",

"User{id=2, name='Jack', age=20, email='test2@baomidou.com'}",

"User{id=3, name='Tom', age=28, email='test3@baomidou.com'}",

"User{id=4, name='Sandy', age=21, email='test4@baomidou.com'}",

"User{id=5, name='Billie', age=24, email='test5@baomidou.com'}"

],

"errCode": 0,

"errMsg": "获取成功"

}

数据库

1、User 表,其结构如下:

DROP TABLE IF EXISTS user;

CREATE TABLE user

(

id BIGINT(20) NOT NULL COMMENT '主键ID',

name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',

age INT(11) NULL DEFAULT NULL COMMENT '年龄',

email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',

PRIMARY KEY (id)

);

3、其对应的数据库 Data 脚本如下:

DELETE FROM user;

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');

小结

通过以上几个简单的步骤,我们就实现了 User 表的 CRUD 功能,甚至连 XML 文件都不用编写!

从以上步骤中,我们可以看到集成 MyBatis-Plus 非常的简单,只需要引入 starter 工程,并配置 mapper 扫描路径即可。

mysql快速启动_GitHub - TianSiQiang/Spring-Boot-MyBatis-Mysql: Spring Boot+MyBatis+Mysql 快速启动示例...相关推荐

  1. Spring Boot(六)集成 MyBatis 操作 MySQL 8

    ## 一.简介 1.1 MyBatis介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果 ...

  2. Spring Boot (八): Mybatis 增强工具 MyBatis-Plus

    1. 简介 在上一篇文章<Spring Boot (七): Mybatis极简配置> 中我们介绍了在 Spring Boot 中 Mybatis 的基础使用方式,其中有一部分美中不足的是 ...

  3. spring boot 1.5.4 整合 mybatis(十二)

    上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...

  4. Spring Boot2.x-10 基于Spring Boot 2.1.2 + Mybatis 2.0.0实现多数据源,支持事务

    文章目录 概述 思路 步骤 Step1 多数据源配置文件applicaiton.yml Step2 初始化多个数据源 Step3 配置多个数据源 验证测试 支持事务 Step1 配置类中通过@Bean ...

  5. Spring Boot2.x-09 基于Spring Boot 2.1.2 + Mybatis使用自定义注解实现数据库切换

    文章目录 概述 场景说明:读写分离 操作步骤 工程结构 Step1 自定义注解 Step2 数据源定义 Step3 配置文件配置数据源 Step4 数据源实例化DatasourceConfig Ste ...

  6. Spring Boot 永远滴神!10分钟快速入门

    为什么是 SpringBoot 因为目前开发 WEB 应用,Spring Boot 是启动 Spring 项目最快最流行的方式了.无论我们要构建一个什么样的应用,它都可以让我们尽可能快的启动运行起来. ...

  7. mybatis 配置_配置Mybatis在Spring Boot工程中的整合

    配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项. 分析: 添加启动器依赖: 配置Mybatis:实体类别名包,日志,映射文件等: 配 ...

  8. 从零搭建Spring Boot脚手架:手写Mybatis通用Mapper4

    1. 前言 继续搭建我们的kono Spring Boot脚手架,把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我自己尝试实 ...

  9. Spring Boot实践 | 利用Spring Security快速搞定权限控制

    目录 开始之前 快速开始 使用内存签名服务 使用数据库签名服务 使用自定义签名服务 限制请求 强制使用HTTPS 防止跨站点伪造请求 用户认证功能 在java web工程中,一般使用Servlet过滤 ...

最新文章

  1. SPCAMLEditor–灵活实用的CAML编辑工具(上)
  2. 点评主流软件开发技术
  3. 基于微软ASP.NET AJAX框架开发幻灯片播放网页
  4. 爱,除了看怎么说,还要看怎么做 !
  5. C#指定窗口显示位置的方法
  6. 深入解读 Knative Eventing 0.7 版本新特性
  7. 学好 Web 前端的 6 点建议
  8. LNMP架构数据迁移到NFS存储
  9. linux C语言基础学习总结
  10. 使用weblogic部署若依项目(图文教程)
  11. axure操作回复_Axure8.0基础教程(21-30)新手必须掌握的基础操作
  12. 百度离线地图服务器搭建
  13. 爬取B站前两千位up主的粉丝数
  14. fatal error LNK1123 错误解决方法
  15. 加班者的王者语录(改编)
  16. 集群升级:CBS迁移
  17. 为什么很多电销公司喜欢用大数据获得资源?
  18. C++:实现量化N阶导数运算测试实例
  19. ePartsize 过程全记录
  20. [ITIL]-ITIL4架构

热门文章

  1. Python--Json数据简单解析(11.18)
  2. LLVM编译器基础 架构
  3. 2021年六月中旬推荐文章
  4. 修改mysql编_修改mysql编码
  5. python加法赋值运算符为_Python 运算符
  6. python字典有什么用_Python中的字典介绍
  7. Python库:jieba库中文分词
  8. python之pymysql的使用
  9. activity绑定service
  10. netty大白话--概念(二)