之前的springboot+mybatis-plus/mybatis+mysql中没有导入druid,那里面有没有呢?先回顾数据源配置格式
格式二常用,但需要导入druid的starter,格式1不需要。
spring:
datasource:
url: jdbc:mysql://localhost:3306/ssmp_db
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: "!Wzh2352186607"
注意不能再hikari下配置url,URL放在外层!!!
spring内置的持久化方案——JdbcTemplate技术
需要导入spring-jdbc的starter
发现这个starter依赖于hikari
测试使用
相似:都是用java写的,都可以在内存中启动(伴随着程序的启动而启动);小巧,测试方便;运行速度快。
这些通常在linux系统中部署,为了降低学习者压力,暂时基于windows学习
笔记可以参考:https://zhangc233.github.io/2021/05/02/Redis/
在redis的安装路径唤出cmd,
spring:
redis:
host: localhost
port: 6379 #注意不写默认是这两个值
@SpringBootTest
public class redisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test
void set(){
ValueOperations ops = redisTemplate.opsForValue();//使用普通key-value结构
ops.set("age",41);
}
@Test
void get(){
ValueOperations ops = redisTemplate.opsForValue();
System.out.println(ops.get("age"));
}
@Test
void hset(){
HashOperations hops = redisTemplate.opsForHash();//使用哈希结构
hops.put("conf","port",90);
}
@Test
void hget(){
HashOperations hops = redisTemplate.opsForHash();
System.out.println(hops.get("conf","port"));
}
}
使用@Autowired注入虽然可以使用,但是在编译器里会爆红,推荐使用@Resource。原因是这个类型带泛型我们却没有指定泛型,使用@Autowired是根据类型注入的,而@Resource是现根据name注入,找不到采用类型注入
客户端存放的数据java程序查询不到。
StringRedisTemplate和RedisTemplate的区别是后者以对象为基本单位操作(因为StringRedisTemplate和RedisTemplate相比,他的泛型是固定了的),前者以字符串为基本单位操作。在客户端(cmd界面)操作是以字符串为基本单位操作的,所以redisTemplate查询不到。
@SpringBootTest
public class StringRedisTemplateTest {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Test
void get(){
ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
System.out.println(ops.get("name"));
}
}
jedis就是基于java语言的redis客户端,集成了redis的命令操作,提供了连接池管理。
redis-cli是redis官方提供的客户端,可以看作一个shell程序,它可以发送命令对redis进行操作。
springboot能用jedis,但是默认不是这个技术,想要使用只需导入依赖,配置配置信息
<dependency>
<groupId>redis.clientsgroupId>
<artifactId>jedisartifactId>
dependency>
spring:
redis:
client-type: jedis
mysql可以存储结构数据但是不够快,redis存储快但是不能存储结构数据。MongoDB则填补了二者的空白。他是高性能的无模式的文档型数据库,是最像关系型数据库的非关系型数据库。
业务场景:
spring:
data:
mongodb:
uri: mongodb://localhost/local
这个uri是规定的格式,必须是mongodb://localhost/…
@SpringBootTest
public class MongodbTest {
@Resource
private MongoTemplate mongoTemplate;
@Test
void test(){
Book book = new Book();
book.setId(1);
book.setName("ssmp");
book.setPrice(120);
mongoTemplate.save(book);
}
}
除了各个属性外还将类型也添加进去了。