之前写的那篇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. CP防火墙备份与还原

    Step1:进入专家模式 ====================================================== 如果没有设置专家模式的密码,执行下面命令进行设置: BJ-OFF ...

  2. Docker容器Centos容器安装openssh

    前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题 下面专门是centos容器安 ...

  3. 016 Ceph的集群管理_2

    一.Ceph集群的运行状态 集群状态:HEALTH_OK,HEALTH_WARN,HEALTH_ERR 1.1 常用查寻状态指令 [root@ceph2 ~]#    ceph health deta ...

  4. $BZOJ$2818 $gcd$ 莫比乌斯反演/欧拉函数

    正解:莫比乌斯反演/欧拉函数 解题报告: 传送门$QwQ$ 一步非常显然的变形,原式=$\sum_{d=1,d\in prim}^{n}\sum_{i=1}^{n}\sum_{j=1}^{n}[gcd ...

  5. SpringBoot系列之集成Dubbo示例教程

    一.分布式基本理论 1.1.分布式基本定义 <分布式系统原理与范型>定义: "分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统" 分布式系统(d ...

  6. 用实例理解设计模式——代理模式(Python版)

    代理模式:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 代理模式分为: 静态代理 动态代 ...

  7. 用户svn密码自定义

    由于在linux系统Apache+svn服务器,用户需要自定义密码怎么办呢? 1.创建脚本目录 mkdir -p /var/www/svn/svntools 2.创建apache配置文件 touch ...

  8. 从N个元素中抽取K个不重复元素(抽奖问题)

    核心就是 把N数组抽中的元素给K数组 把N数组最后一位给N数组被抽走的那一位(这时候N数组最后一位元素和被抽走的那位元素值相等) 把N数组长度减一,去除最后一位

  9. AQS 原理以及 AQS 同步组件总结

    1 AQS 简单介绍 AQS 的全称为(AbstractQueuedSynchronizer),这个类在 java.util.concurrent.locks 包下面. AQS 是一个用来构建锁和同步 ...

  10. BigInteger&BigDecimal类

    BigInteger类 当需要处理超过 long 数值范围的大整数时,java.math 包中的 BigInteger 类提供任意精度的整数运算. 构造方式 //构造方法,将BigInteger的十进 ...