之前写的那篇Spring框架学习笔记(5)——Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚

1.通过IDEA创建spring boot

2.项目相关配置

只需要修改第一个和第二个,下面的其他选项会自动改变

3.勾选需要的库

这一步勾选了之后,spring boot会自动地在pom.xml文件中添加相关对应的第三方开源库的依赖

这里如果不熟悉的话,建议不要勾选mybatis和mysql,这样创建出来的spring boot就可以直接运行而不会报错,

之后在浏览器中直接访问localhost:8080就可以看到白页提示,则表明spring boot已经创建成功了,这里在之前那篇博文详细讲解了,具体在这里不多说了

4.添加mybatis plus依赖

这里,官方提示使用了mybatis plus,则不要使用mybatis的依赖,防止冲突

所以,我们使用下面的依赖把原来的mybatis-spring-boot-starter那个依赖给替换掉

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>

我们还需要把依赖中的mysql-connector-java中的runtime那一行去掉,否则下面的配置数据库驱动的时候会找不到驱动文件

5.配置application.yml文件



可以看到项目中存在的application.properties文件,说明spring boot项目中默认使用的配置文件为properties格式,不过还有另外的一种格式支持,那就是yml格式。

yml方式相比properties,支持嵌套,可读性较好,所以我是选用了yml格式

server:
port: #端口号,默认不写就是8080
servlet:
context-path: #项目上下文,必须要以“/”开头
spring:
datasource:
username: #数据库用户名
password: #数据库密码
url: jdbc:mysql://localhost:3306/mofang?useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver #直接打mysql会有提示 #showSql日志输出,根据自己的包名进行修改
logging:
level:
com:
example:
mapper : debug

PS:注意,yml格式中,冒号后面需要空格

如果是使用oracle,则在之前勾选oracle驱动即可

6.建立实体类

根据数据库中的表创建对应的实体类

@Data
@ToString
public class User {
private String userName;
private String userPass;
}

PS:我数据库中存在一个名为user的表,列名分别为user_name,user_pass,mybatis会自动进行字段的转换

7.创建mapper接口文件

@Component
public interface UserMapper extends BaseMapper<User> { }

注意添加注解,让此类被spring容器管理

这里接口继承BaseMapper接口,BaseMapper接口是mybatis plus中提供的接口,里面封装好了一些常用的的CRUD操作

这样一来,我们就不需要书写xml,从而就可以快速地实现了有些基本的CRUD操作了

8.添加MapperScan注解

mapperScan注解会扫描指定包名中的mapper接口文件,并通过spring进行自动装载

@SpringBootApplication
@MapperScan("com.wan.shunbang.mapper")
public class ShunbangApplication { public static void main(String[] args) {
SpringApplication.run(ShunbangApplication.class, args);
} }

9.测试

@SpringBootTest
public class UserTest {
@Autowired
private UserMapper userMapper; @Test
void testInsert() {
List<User> users = userMapper.selectList(null);
for (User user : users) {
System.out.println(user.toString());
}
}
}

测试文件我是放在了test的目录下

Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建的更多相关文章

  1. Spring框架学习笔记(5)——Spring Boot创建与使用

    Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路n ...

  2. Spring框架学习笔记(1)

    Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架, ...

  3. Spring框架学习笔记(3)——SpringMVC框架

    SpringMVC框架是基于Spring框架,可以让我们更为方便的进行Web的开发,实现前后端分离 思路和原理 我们之前仿照SpringMVC定义了一个自定义MVC框架,两者的思路其实都是一样的. 建 ...

  4. 手写Spring框架学习笔记

    以下是咕泡公开课的学习笔记 一.创建工程springdemo 二.在pom中配置servlet <dependency> <groupId>javax.servlet</ ...

  5. spring框架学习笔记7:事务管理及案例

    Spring提供了一套管理项目中的事务的机制 以前写过一篇简单的介绍事务的随笔:http://www.cnblogs.com/xuyiqing/p/8430214.html 还有一篇Hibernate ...

  6. Spring框架学习笔记(1)——控制反转IOC与依赖注入DI

    Spring框架的主要作用,就是提供了一个容器,使用该容器就可以创建并管理对象.比如说Dao类等,又或者是具有多依赖关系的类(Student类中包含有Teacher类的成员变量) Spring有两个核 ...

  7. Spring框架学习笔记(4)——SSM整合以及创建Maven自定义模版

    Spring+Spring MVC+MyBatis+Maven SSM整合的核心还是Spring+MyBatis的整合,回顾一下MyBatis操作数据库流程,我们是使用一个SQLSessionFact ...

  8. Spring框架学习笔记(1)——HelloWorld

    1.创建一个新的项目,并添加Spring框架 2.创建HelloWorld.java package com.broadtext.beans.helloworld; public class Hell ...

  9. spring框架学习笔记4:SpringAOP实现原理

    AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...

随机推荐

  1. 僵进程与SIGCHLD信号

    参考: https://www.cnblogs.com/webor2006/p/4014586.html wait()和waitpid()的参数解析:https://blog.csdn.net/csd ...

  2. 使用Pandas加载数据

    1.dataframe对象简述: dataframe为pandas中一种有行列索引的二维数据结构,可以看成在普通二维结构上加上行列id标记 示例为创建一个2X3的dataframe: import s ...

  3. Elasticsearch系列---实战搜索语法

    概要 本篇介绍Query DSL的语法案例,查询语句的调试,以及排序的相关内容. 基本语法 空查询 最简单的搜索命令,不指定索引和类型的空搜索,它将返回集群下所有索引的所有文档(默认显示10条): G ...

  4. Serverless 实战 —— Funcraft + OSS + ROS 进行 CI/CD

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...

  5. C# 对象与引用变量

    从宏观的角度来看,对象是类的实例.比如: //定义一个名为Someone的类,代表这么一些人(通过指定年龄,性别,性格等基本信息)class Someone {  public int age;  p ...

  6. 【一起学源码-微服务】Nexflix Eureka 源码十二:EurekaServer集群模式源码分析

    前言 前情回顾 上一讲看了Eureka 注册中心的自我保护机制,以及里面提到的bug问题. 哈哈 转眼间都2020年了,这个系列的文章从12.17 一直写到现在,也是不容易哈,每天持续不断学习,输出博 ...

  7. 从桌面到 Web -- 领域模型

    让我们暂时告别一下 ASP.NET Core 先介绍一下这个虚拟项目.因为我的主要目的是通过一个项目,全面学习一下 ASP.NET Core,所以这个项目时一个很简单的,不具备实际应用价值的虚拟项目, ...

  8. python+selenium+Chrome options参数

    python+selenium+Chrome options参数 Chrome Options常用的行为一般有以下几种: 禁止图片和视频的加载:提升网页加载速度. 添加代理:用于翻墙访问某些页面,或者 ...

  9. Python 超级玛丽代码实现:人物行走和碰撞检测

    功能介绍 人物行走 人物的行走速度这边分成水平方向(X轴)和竖直方向(Y轴),水平方向的速度要考虑加速度和摩擦力,竖直方向的速度要考虑重力加速度. 水平方向:设定X轴向右走的速度为大于0,向左走的速度 ...

  10. jedis的scan操作要注意cursor数据类型

    环境 jedis3.0.0 背景 在使用jedis的"scan"操作获取redis中某些key时,发现总是出现类型转换的异常--"java.lang.ClassCastE ...