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> {}
测试
@Autowiredprivate CommentRepository repository;@Testpublic 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;@Indexedprivate 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)@SpringBootTestpublic class RedisTests {@Autowiredprivate PersonRepository repository;@Testpublic 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);}@Testpublic void selectPerson() {List<Person> list = (List<Person>) repository.findByAddress_City("广州");for (Person person : list) {System.out.println(person);}}
