spring boot 集成
1.1 SpringBoot整合Mybatis
1.打开IDEA如图所示的界面,并点击Create New Project。
2.选择Spring Initializr和JDK的版本,并点击Next,如图所示:
3.填写相应的项目名称和包名,点击Next。如图所示:
4.选择web功能,点击Next。如图所示:
5.保存的地址,并点击Finish。如图所示:
6.导入相应的依赖jar包的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.txw</groupId>
<artifactId>springboot_mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_mybatis</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--mybatis起步依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok依赖jar包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
7.在resource目录下创建application.properties中添加数据量的连接信息的代码如下:
#数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
8.创建数据库表的代码如下:
CREATE DATABASE springboot; -- 创建springboot数据库
USE springboot; -- 使用springboot数据库
-- 创建user表
CREATE TABLE `user`(
id BIGINT (15) NOT NULL AUTO_INCREMENT COMMENT '用户的id',
userName VARCHAR (50) NOT NULL DEFAULT '' COMMENT '用户名',
`password` VARCHAR (50) NOT NULL DEFAULT '' COMMENT '密码',
`name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT '姓名',
PRIMARY KEY (id)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT 'user';
-- 插入数据
INSERT INTO `user` VALUES ('1', 'Adair', '123', '兴旺');
INSERT INTO `user` VALUES ('2', 'Tab', '123', '老唐');
-- 查询user表
SELECT *FROM USER;
9.创建User实体类的代码如下:
package com.txw.domain;
import lombok.Data;
import lombok.ToString;
/**
* User实体类
* @author Adair
*/
@Data // 自动生成set和get方法
@ToString // 重写toString方法
@SuppressWarnings("all") // 注解警告信息
public class User {
private Long id; // 用户的id
private String userName; // 用户名
private String password; // 密码
private String name; // 姓名
}
10.在resource目录下创建mapper目录下UserMapper.xml的代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.txw.mapper.UserMapper">
<select id="queryUserList" resultType="com.txw.domain.User">
select * from user
</select>
</mapper>
11.创建UserMapper接口的代码如下:
package com.txw.mapper;
import com.txw.domain.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
*UserMapper接口
* @author Adair
*/
@Mapper
@SuppressWarnings("all") // 注解警告信息
public interface UserMapper {
public List<User> queryUserList();
}
12.在application.properties中配置mybatis的信息如下:
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.txw.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
13.创建MybatisController的代码如下:
package com.txw.controller;
import com.txw.domain.User;
import com.txw.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 java.util.List;
/**
* MybatisController处理器类
* @author ADair
*/
@Controller
@SuppressWarnings("all") // 注解警告信息
public class MybatisController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/query")
@ResponseBody
public List<User> queryUserList(){
List<User> users = userMapper.queryUserList();
return users;
}
}
14.启动类的代码如下:
package com.txw;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@SuppressWarnings("all") // 注解警告信息
public class SpringbootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisApplication.class, args);
}
}
15.运行启动类如图所示:
16.通过谷歌浏览器访问http://localhost:8080/query如图所示:
1.2 SpringBoot整合Junit
1.在pom.xml文件中添加Junit的起步依赖的如图所示:
2.创建测试类的代码如下:
package com.txw.test;
import com.txw.SpringbootMybatisApplication;
import com.txw.domain.User;
import com.txw.mapper.UserMapper;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.junit.runner.RunWith;
import java.util.List;
/**
* SpingBoot集成junit测试
* @author Adair
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootMybatisApplication.class)
@SuppressWarnings("all") // 注解警告信息
public class MybatisTest {
// 声明UserMapper业务对象
@Autowired
private UserMapper userMapper;
@Test
public void testqueryUserList(){
List<User> users = userMapper.queryUserList();
System.out.println(users);
}
}
运行结果如图所示:
其中,SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试测试引擎都可以@SpringBootTest的属性指定的是引导类的字节码对象。
public final class SpringRunner extends SpringJUnit4ClassRunner