Java学习——springboot整合mysql、redis、mongodb

Java学习——springboot整合mysql、redis、mongodb

  • 1. 环境搭建
  • 2. 搭建目录结构
  • 3. 各层内容
  • 4. 测试

1. 环境搭建

创建SpringBoot工程时勾选如下技术:
Java学习——springboot整合mysql、redis、mongodb_第1张图片
pom.xml文件内依赖如下:

<dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-mongodbartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-redisartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>3.4.1version>
        dependency>

        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-pool2artifactId>
        dependency>

        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>

        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>1.2.8version>
        dependency>

        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <optional>trueoptional>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>

		
        <dependency>
            <groupId>cn.hutoolgroupId>
            <artifactId>hutool-allartifactId>
            <version>5.7.17version>
        dependency>

    dependencies>

2. 搭建目录结构

Java学习——springboot整合mysql、redis、mongodb_第2张图片

3. 各层内容

  1. dao层
@Mapper
public interface MembersDao extends BaseMapper<Members> {

}
  1. 实体类
@Data
@Document(collation = "members")
public class Members implements Serializable {
    @Id// mongodb主键
    private int id;
    private String studentName;
    @Indexed //mongodb索引
    private String studentId;

    @TableField(exist = false)
    private String identityCard;
    private String tel;
    private String dormitoryAddress;
    @TableLogic//逻辑删除字段,1_删除,0_未删除
    private int deleted;

    //该字段表中未出现,通过设置TableField的exist属性不报错
    @TableField(exist = false)
    private String birthday;

}

注: Serializable实现序列化与反序列化接口

  1. service层
//MybatisPlus帮助实现业务层快速开发
public interface IMembersService extends IService<Members> {
}
@Service
public class MembersImpl extends ServiceImpl<MembersDao, Members> implements IMembersService {

}
  1. 配置文件
server:
  port: 80

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.*.*** :3306/data211
    username: root
    password: root
  redis:
    lettuce:
      pool:
        max-active: 10
        max-idle: 10
        min-idle: 1
        time-between-eviction-runs: 10s
    #redis集群
    cluster:
      nodes:
       - 192.168.*.***:7001
       - 192.168.*.***:7002
       - 192.168.*.***:7003
       - 192.168.*.***:8001
       - 192.168.*.***:8002
       - 192.168.*.***:8003
  data:
    mongodb:
      uri: mongodb://192.168.*.* :27017/data211

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
#  配置别名
  type-aliases-package: com.data211.pojo
  global-config:
    db-config:
#      主键自增长
      id-type: auto
#      表名前缀
      table-prefix: data211_
#      逻辑删除
      logic-delete-value: 1
      logic-not-delete-value: 0
#      控制台输出操作数据库日志
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl


4. 测试

@SpringBootTest
class Data211ApplicationTests {

    @Resource
    private IMembersService membersService;

    @Resource
    private StringRedisTemplate stringRedisTemplate;

    @Resource
    private MongoTemplate mongoTemplate;

    private String DATA211_MEMBERS = "data211:members:";


    @Test
    void MysqlToMongoDB(){
        Members members = membersService.getById(1);
        Members save = mongoTemplate.save(members);
        System.out.println(save);
    }

    @Test
    void MysqlToRedis(){
        int[] num ={4,21};
        for (int i : num) {
            Members members = membersService.getById(i);
            //hutool工具包提供,将对象序列化为json字符串
            String s = JSONUtil.toJsonStr(members);
            stringRedisTemplate.opsForValue().set(DATA211_MEMBERS + members.getStudentName(),s);
        }
    }
}

查看redis
Java学习——springboot整合mysql、redis、mongodb_第3张图片

存入成功!
查看mongodb
Java学习——springboot整合mysql、redis、mongodb_第4张图片
存入成功!

你可能感兴趣的:(Java,mongodb,java,学习)