4.1 SpringBoot整合Mybatis
主要是引入相应的依赖启动器,再进行简单配置即可
- 创建数据库、创建表。
- 引入相关依赖,Mybatis启动依赖,mysql驱动。
- 编写代码。
4.2 SpringBoot整合JPA
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
编写实体类
@Entity(name = "t_comment")
public class Comment {
@Id // 表明映射主键
@GeneratedValue(strategy = GenerationType.IDENTITY) // 主键自增策略
private Integer id;
private String content;
private String author;
@Column(name = "a_id") // 指定对应字段名
private Integer aId;
// 省略getter和setter方法
// 省略tostring方法
}
编写responsity
public interface CommentRepository extends JpaRepository<Comment,Integer> {
}
测试
@Autowired
private CommentRepository repository;
@Test
public void selectComment() {
Optional<Comment> optional = repository.findById(1);
if(optional.isPresent()){
System.out.println(optional.get());
}
System.out.println();
}
4.3 SpringBoot整合Redis
添加spring data redis依赖启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
编写实体类,为了演示SpringBoot和redis数据库的整合使用
@RedisHash("persons") // 指定操作实体类在Redis数据库的存储空间,person类的操作都会存储在redis数据库名为persons的存储空间下
public class Person {
@Id // 标识实体类主键 字符串形式的hashkey标识唯一的实体类主键
private String id;
@Indexed // 标识对应属性在redis中生成二级索引
private String firstname;
@Indexed
private String lastname;
private Address address;
// 省略getter和setter方法
// 省略tostring方法
// 省略有参无参构造方法
}
编写Reponsitory接口,SpringBoot对包括了redis在内的常用数据库提供了自动化配置,可以通过实现Responsitory接口简化对数据库中数据的增删改查操作
public interface PersonRepository extends CrudRepository<Person,String> {
List<Person> findByAddress_City(String 广州);
}
Redis连接数据库配置
#redis服务器地址
spring.redis.host=127.0.0.1
#redis端口
spring.redis.port=6379
#redis服务器连接密码,默认为空
spring.redis.password=
编写单元测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTests {
@Autowired
private PersonRepository repository;
@Test
public void savePerson() {
Person person = new Person();
person.setFirstname("张");
person.setLastname("三");
Address address = new Address();
address.setCity("广州");
address.setCountry("中国");
person.setAddress(address);
// 向redis添加数据
Person save = repository.save(person);
}
@Test
public void selectPerson() {
List<Person> list = (List<Person>) repository.findByAddress_City("广州");
for (Person person : list) {
System.out.println(person);
}
}