Springboot创建项目、docker安装mysql及mybatis-plus调试
1️⃣ idea构建springboot项目
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"; } }
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)操作数据库至此搭建完成。