SpringBoot集成其他技术
一、集成Mybatis
1.在pom.xml中导入坐标
<!--mybatis起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!--MySql连接驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.8</version>
</dependency>
2.在application.properties中配置数据库连接信息
#数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
3.建立实体com.xxx.domain.User.java
public class User {
private Integer id;
private String username;
private String password;
private String name;
//set get toString 等省略
}
4.建立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.xxx.mapper.UserMapper">
<select id="queryUserList" resultType="user">
SELECT * FROM user
</select>
</mapper>
5.建立mapper接口com.xxx.mapper.UserMapper.java
@Repository
public interface UserMapper {
public List<User> queryUserList();
}
6.在application.properties中配置mybatis信息
#配置mybatis信息
#pojo别名扫描包
mybatis.type-aliases-package=com.xxx.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
7.建立com.xxx.service.UserService.java
@Service
public class UserService {
@Autowired
UserMapper userMapper;
public List<User> queryUserList(){
return userMapper.queryUserList();
}
}
8.建立com.xxx.controller.UserController.java
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/queryUserList")
@ResponseBody
public List<User> queryUserList(){
return userService.queryUserList();
}
}
9.启动类添加mapper扫描
@MapperScan("com.zxl.mapper")
@SpringBootApplication
public class SpringbootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisApplication.class, args);
}
}
10.文件结构
二、集成Junit
1.在pom.xml中导入依赖
<!--SpringBoot集成junit测试的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
2.编写测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootMybatisApplication.class)
public class MybatisTest {
@Autowired
private UserMapper userMapper;
@Test
public void test(){
List<User> userList = userMapper.queryUserList();
System.out.println(userList);
}
}
3.文件结构
三、集成Spring Data JPA
1.在pom.xml中导入依赖
<!--springBoot JPA的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--MySQL连接驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.8</version>
</dependency>
2.在application.properties中配置数据库连接信息
#数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
3.配置实体
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String username;
private String password;
private String name;
//set,get,toString省略
4.配置接口
public interface UserRepository extends JpaRepository<User,Integer>{
public List<User> findAll();
}
5.在application.properties中配置JPA信息
#JPA Configuration
spring.jpa.database=mysql
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
6.测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class JpaTest {
@Autowired
private UserRepository userRepository;
@Test
public void test(){
List<User> users = userRepository.findAll();
System.out.println(users);
}
}
jdk9报错在pom.xml导入如下坐标
<!--jdk9需要导入如下坐标-->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
7.文件结构
四、集成Redis
1.在pom.xml中导入依赖
<!--配置使用redis启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.启动Redis服务
3.在application.properties中配置Redis信息
#Redis
spring.redis.host=127.0.0.1
spring.rabbitmq.port=6379
4.编写测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class RedisTest {
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private UserRepository userRepository;
@Test
public void test() throws JsonProcessingException {
//1、从Redis中获得数据,数据的形式为json字符串
String userListJson = redisTemplate.boundValueOps("user.findAll").get();
//2、判断redis中是否存在数据
if (userListJson == null) {
//3、不存在数据,从数据库查询
List<User> all = userRepository.findAll();
//4、将查询出的数据存储到redis中
//先将list集合转化成json格式的字符串 使用jackson进行转换
ObjectMapper objectMapper = new ObjectMapper();
userListJson = objectMapper.writeValueAsString(all);
redisTemplate.boundValueOps("user.findAll").set(userListJson);
System.out.println("=======从数据库中获得user的数据========");
}else {
System.out.println("=======从redis缓存中获得user的数据========");
}
//4、将数据在控制台打印
System.out.println(userListJson);
}
}