一.首先创建一个项目 newProject,选择spring boot插件,由于本人是社区版idea,需要下载spring Assistant插件,next下一步
二.设置版本号打包方式等等,然后下一步,
三.选择需要的依赖下一步,然后完成。
四.创建完项目后后修改配置文件
spring: datasource: #配置Mysql连接信息 url: jdbc:mysql://localhost:3306/ssh?characterEncoding=utf8 username: root password: 111111 #mongodb数据配置 data: mongodb: host: 127.0.0.1 port: 27017 name: test jpa: #使用数据源 database: MYSQL #是否打印日志 show-sql: true #Hibernate ddl auto (validate|create|create-drop|update) hibernate: #加载hibernate自动更新数据库结构 ddl-auto: update naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy properties: hibernate: dialect: org.hibernate.dialect.MySQL5Dialect #配置redis连接信息 redis: # database: 1 host: 192.168.1.214 port: 6379 pool: # 连接池中的最大空闲连接 max-idle: 8 # 连接池中的最小空闲连接 min-idle: 0 # 连接池最大连接数(使用负值表示没有限制) max-active: 8 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1
五.创建项目需要结构目录,创建实体类,业务类,
mysql实体类
mongodb实体类
六.定义mysql,mongoDB,redis存取数据接口,简单示例,没有定义业务类
package com.example.demo.com.by.rest; import com.example.demo.com.by.domain.MongoUser; import com.example.demo.com.by.domain.User; import com.example.demo.com.by.repository.RedisServiceImpl; import com.example.demo.com.by.repository.UserRepostory; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.web.bind.annotation.*; import java.util.List; //控制器注解 @RestController public class testController { private final UserRepostory userRepostory; private RedisServiceImpl redisRespostry; private final MongoRepository mongoRepository; public testController(UserRepostory userRepostory, RedisServiceImpl redisRespostry, MongoRepository mongoRepository){ this.userRepostory = userRepostory; this.redisRespostry = redisRespostry; this.mongoRepository = mongoRepository; } /** * 获得mysql用户列表 */ @RequestMapping("/get-users") public List<User> getUsers() { List<User> user = userRepostory.findAll(); return user; } /** * 添加mysql一个用户 */ @PostMapping("add-user") public User addUser(@RequestParam User u){ User user = new User(); user.setId(u.getId()); user.setName(u.getName()); user.setAge(u.getAge()); userRepostory.save(user); return user; } /** * 存入redis一个字符串 */ @GetMapping("add-redis/{key}/{value}") public String addRedis(@PathVariable String key, @PathVariable String value){ redisRespostry.add(key,value); return value; } /** * 取出redis一个字符串 */ @GetMapping("get-redis-by-key/{key}") public String getKey(@PathVariable String key){ return redisRespostry.get(key); } /** * 取出mongo所有所有用户 */ @GetMapping("get-mongo-users") public List<MongoUser> getMongoUser() { List<MongoUser> user = mongoRepository.findAll(); return user; } /** * 添加MongoDB一个用户 */ @GetMapping("add-mongo-user/{id}/{name}/{age}") public Integer getMongoUser(@PathVariable String id, @PathVariable String name, @PathVariable String age) { MongoUser mongoUser = new MongoUser(); mongoUser.setId(Integer.parseInt(id)); mongoUser.setAge(Integer.parseInt(age)); mongoUser.setName(name); mongoRepository.save(mongoUser); return 200; } }
七.创建Repository类继承JpaRespoitory,jpa方法定义参考https://blog.csdn.net/z69183787/article/details/30265243
public interface UserRepostory extends JpaRepository<User,String> { }
public interface MongoUserRepository extends MongoRepository<MongoUser,String> { }
八.编写redis存取字符串的工具类。
package com.example.demo.com.by.repository; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional public class RedisServiceImpl { private final StringRedisTemplate stringRedisTemplate; public RedisServiceImpl(StringRedisTemplate stringRedisTemplate) { this.stringRedisTemplate = stringRedisTemplate; } //定义添加数据方法 public boolean add(String key,String value){ stringRedisTemplate.opsForValue().set(key,value); return true; } //定义取数据方法 public String get(String key){ String value = stringRedisTemplate.opsForValue().get(key); return value; } }
好了,现在可以启动服务连接数据库了。
首先使用Mongodb,创建一个id=2 name=lao8 age=30的用户,创建成功
获取mongoDB用户list
获取Mysql数据
存入redis 一个lao8
获取redis 里key为testUserOne的值