Springboot创建项目及测试

1️⃣ idea构建springboot项目

2️⃣ 测试类 hello

1. 代码
RestController是ResponseBody + controller的组合体,作用就是配合@GetMapping可以把"Hello World"输出到浏览器内,毕竟官网是这样写的Getting Started | Building a RESTful Web Service (spring.io)
@RestController
public class HelloWorld {
@GetMapping("/hello")
public String hello(){
return "hello world";
}
}

3️⃣ 数据库(Mybatis-plus)

1. 安装数据库
工作上数据库都在服务器上面,都是linux,所以在虚拟机上整一个服务器centos7,然后要改一下固定ip去连接nxshell
 

cd /etc/sysconfig/network-script/
ll
vi ifcfg-ens33
systemctl restart network

如果这样连接不上,要不就是单词打错了,要不就是其他问题,反正是自己操作问题,连接好之后就开始安装docker,使用docker的原因就是简单,方便,而且我比较懒,docker用着快。注意!!!所有操作都是在联网的状态下
安装docker并更换阿里云源,阿里云容器镜像服务加速器容器镜像服务 (aliyun.com)。更换源是必须的,不然下载镜像特别特别的慢,而且有的资源在国外,导致下载失败

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  sudo yum install docker-ce docker-ce-cli containerd.io

cd /etc/docker/

vim daemon.json
  sudo systemctl daemon-reload
  sudo systemctl restart docker

在docker里面安装mysql
sudo docker pull mysql:5.7
docker images
mkdir /usr/local/mysql
挂载容器   --privileged=true这个很重要,不加的话后面会有一些权限相关问题,包括但不限于:文件夹无权限创建,连接无权限,log文件无权限创建
docker run --privileged=true --name mysql --restart=always -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -i -p 3306:3306 mysql:5.7
docker ps
docker exec -it mysql bash
mysql -uroot -proot
show databases;
use mysql;
select * from user;
select Host,user from user;

如果这两条数据没有或不同,使用以下语句inset表中或修改,连接好之后用工具测试下连接(sqlyog,navicat)。注意!!!如果是在虚机上面安的,不是网上服务器(阿里云,腾讯云),关闭了虚机,然后第二天开启虚机连接mysql连接不上,就重启docker(systemctl restart docker)。
alter user 'root'@'%' IDENTIFIED with mysql_native_password by 'root'
flush privileges
2. 使用Mybatis-plus连接数据库
首先是要在pom文件里面加好依赖,这样才能把mp(mybatis-plus)的jar包下载下来。注意!!!springboot的版本要高于2.0以上,mybatis-plus-boot-starter依赖在这里找最新的Maven Repository: Search/Browse/Explore (mvnrepository.com)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!--使用此依赖是因为springboot3版本SqlsessionDao会报错,因为springboot3移除了一些异常类,
导致无法启动,使用此依赖版本会支持springboot3-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
在contro层编写业务逻辑代码,通过注入接口去调用接口中的方法selectAll();

在service层编写我们自己定义的接口selectAll();

在实现类里面写具体的代码实现接口selectAll();

在mapper层编写mp接口

在resources下编写mapper接口对应的xml文件

在yml文件下编写配置,没有使用mybatis-plus配置是因为使用了mybatis的依赖
server:
port: 9001
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://192.168.78.100:3306/xinxin_emo?useSSL=false&serverTimezone=UTC
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*.xml
启动项目后网上随便找个开源软件,测试返回是否正常

至此,springboot配合mp(mybatis-plus)操作数据库至此搭建完成。

          

Springboot创建项目、docker安装mysql及mybatis-plus调试的更多相关文章

  1. SpringBoot Docker Mysql安装,Docker安装Mysql

    SpringBoot Docker Mysql安装,Docker安装Mysql ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  2. 使用Docker安装Mysql

    最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...

  3. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  4. [转]Docker学习之四:使用docker安装mysql

    本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...

  5. docker 安装mysql mongo

    Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...

  6. 【Linux】【自学笔记】Linux下面docker安装mysql

    写在前面: 捣腾继续,之前把一个SpringBoot的程序安装在docker上面,参考链接:https://www.cnblogs.com/aki-stones/p/2019-11-01-note.h ...

  7. Docker 安装mysql、oracle

    来源:唐山网站优化 Docker 安装mysql.oracle 使用ssh工具登录docker docker 的ip一般默认为192.168.99.100可以通过安装docker-machine之后, ...

  8. CentOS 中利用docker安装MySQL

    1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...

  9. 安装docker并使用docker安装mysql

    安装Docker 1. Docker 教程地址:https://www.runoob.com/docker/centos-docker.install.html 2.安装docker 命令:yum i ...

  10. docker安装mysql主从

    docker安装mysql主从 启动主库: 1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5 ...

随机推荐

  1. 人人都是 Serverless 架构师 | “盲盒抽奖”创意营销活动实践

    作者 | 寒斜 & 江昱 当 Serverless 与低代码这两个不同的技术共同相交于同一个业务时会有怎样的价值展现?本文以 "盲盒抽奖" 这个 Serverless De ...

  2. echarts网络拓扑图动态流程图

    https://aixiaodou.blog.csdn.net/article/details/93712083?utm_medium=distribute.pc_relevant.none-task ...

  3. 机器学习笔记(二)使用paddlepaddle,再探波士顿房价预测

    目标 用paddlepaddle来重写之前那个手写的梯度下降方案,简化内容 流程 实际上就做了几个事: 数据准备:将一个批次的数据先转换成nparray格式,再转换成Tensor格式 前向计算:将一个 ...

  4. java进阶(24)--ArrayList集合、LinkList集合、Vector集合

    一.基础 1.ArrayList集合底层是Object[]数组 2.默认容量10(优先:Add第一个元素,初始化未0,jdk13) 3.构造方法:无参(默认).有参 4.ArrayList集合扩容比例 ...

  5. DC-实验

    设置及综合流程

  6. 如何取消VSCODE文件夹折叠

    1.问题 如图所示,文件夹折叠在一起,导致我无法在父文件夹中新建一个文件夹,而是只能在子文件夹中新建文件夹 2.解决 原因:文件夹以紧凑方式呈现,取消即可 1. 打开设置,在里面搜索Explorer: ...

  7. QT5.9移植到海思HI3520设备上运行

    前言: 在海思HI3520DV300上调试QT5.9.0有一小段时间了,这里将遇到的比较典型的问题做一个记录,以备后续查询,也可给同行一个参考.本人只使用过QT5.9.0这一个版本,如有描述错误欢迎指 ...

  8. [转帖]k8s(1.28.2)部署ingress-nginx-controller(1.9.0)

    1.部署ingress-nginx-controller 继在三台虚拟机部署k8s后,需要部署ingress-nginx-controller,才能使设置的ingress规则生效. 1.1下载yaml ...

  9. [转帖]如何用 30s 给面试官讲清楚什么是 Session-Cookie 认证

    https://www.jianshu.com/p/e1121d4d7084 引言 由于 HTTP 协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客 ...

  10. [转帖]tidb之旅——tidb架构选择

    https://zhuanlan.zhihu.com/p/641650168 前言 从4月份开始利用tidb改造了我们公司bi系统.这个过程中,我感觉到了tidb的强大.也打算记录一下整个改造过程.我 ...