• SpringBoot-数据访问配置


    目录

    一、SQL

    1.1 数据源的自动配置-HikariDataSource

    1.2 使用Druid数据源

    1.3 整合MyBatis

    1.4 整合 MyBatis-Plus

    二、NoSQL

    1、Redis自动配置


    一、SQL

    1.1 数据源的自动配置-HikariDataSource

            导入依赖:

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-data-jdbcartifactId>
    4. dependency>
    5. <dependency>
    6. <groupId>mysqlgroupId>
    7. <artifactId>mysql-connector-javaartifactId>
    8. /dependency>

             记得配修改置项:

    1. spring:
    2. datasource:
    3. url: jdbc:mysql://localhost:3306/db_account
    4. username: root
    5. password: 123456
    6. driver-class-name: com.mysql.jdbc.Driver

            测试:

    1. @SpringBootTest
    2. class Boot05WebAdminApplicationTests {
    3. @Autowired
    4. JdbcTemplate jdbcTemplate;
    5. @Test
    6. void contextLoads() {
    7. Long aLong = jdbcTemplate.queryForObject("select count(*) from account_tbl", Long.class);
    8. }

    1.2 使用Druid数据源

            引入starter

    1. <dependency>
    2. <groupId>com.alibabagroupId>
    3. <artifactId>druid-spring-boot-starterartifactId>
    4. <version>1.1.17version>
    5. dependency>

            配置示例:

    1. spring:
    2. datasource:
    3. url: jdbc:mysql://localhost:3306/db_account
    4. username: root
    5. password: 123456
    6. driver-class-name: com.mysql.jdbc.Driver
    7. druid:
    8. aop-patterns: com.atguigu.admin.* #监控SpringBean
    9. filters: stat,wall # 底层开启功能,stat(sql监控),wall(防火墙)
    10. stat-view-servlet: # 配置监控页功能
    11. enabled: true
    12. login-username: admin #进入后台的账号密码
    13. login-password: admin
    14. resetEnable: false
    15. web-stat-filter: # 监控web
    16. enabled: true
    17. urlPattern: /*
    18. exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
    19. filter:
    20. stat: # 对上面filters里面的stat的详细配置
    21. slow-sql-millis: 1000
    22. logSlowSql: true
    23. enabled: true
    24. wall:
    25. enabled: true
    26. config:
    27. drop-table-allow: false

             druid后台访问地址:

    http://localhost:8080/druid

    1.3 整合MyBatis

             引入starter:

    1. <dependency>
    2. <groupId>org.mybatis.spring.bootgroupId>
    3. <artifactId>mybatis-spring-boot-starterartifactId>
    4. <version>2.1.4version>
    5. dependency>

             配置文件:

    1. # 配置mybatis规则
    2. mybatis:
    3. mapper-locations: classpath:mybatis/mapper/*.xml #mapper配置文件的位置
    4. configuration:
    5. map-underscore-to-camel-case: true
    6. #可以不写全局配置文件,所有全局配置文件的配置都放在configuration配置项中即可
    • 编写的mapper接口@Mapper注解标注。
    • 或者在application入口类上标注@MapperScan("com.xxx.mapper"),这样会自动扫描mapper

    1.4 整合 MyBatis-Plus

            建议安装 MybatisX 插件

            引入starter,该starter已经包括了mybatis的配

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-data-redisartifactId>
    4. dependency>

    置,无需再单独引入mybatis了:

    1. <dependency>
    2. <groupId>com.baomidougroupId>
    3. <artifactId>mybatis-plus-boot-starterartifactId>
    4. <version>3.4.1version>
    5. dependency>
    • mapperLocations 自动配置好了默认值:classpath*:/mapper/**/*.xml
    • 任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。 建议以后sql映射文件,放在mapper
    • @Mapper 标注的接口也会被自动扫描;
    • 建议直接@MapperScan("com.xxx.mapper") 批量扫描

    二、NoSQL

    1、Redis自动配置

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-data-redisartifactId>
    4. dependency>
    • 连接工厂是准备好的。LettuceConnectionConfigurationJedisConnectionConfiguration
    • 底层只要我们使用 StringRedisTemplateRedisTemplate就可以操作redis

            切换至jedis:

    1. <dependency>
    2. <groupId>redis.clientsgroupId>
    3. <artifactId>jedisartifactId>
    4. dependency>

            配置文件:

    1. spring:
    2. redis:
    3. host: xxxx
    4. port: xxxx
    5. password: xxxx
    6. client-type: jedis
    7. jedis:
    8. pool:
    9. max-active: 10

  • 相关阅读:
    java项目开发实例基于javaweb+mysql数据库实现的宠物领养|流浪猫狗网站含论文+开题报告
    排列数深度搜索解决 n 皇后问题
    一文讲明:企业知识库的作用和搭建方法
    虚函数可不可以重载为内联 —— 在开启最大优化时gcc、clang和msvc的表现
    亚马逊16条领导力原则
    【JavaSE】抽象类和接口
    普中51单片机学习(DS1302)
    最新,2022年国自然立项数量统计出炉
    网络安全—黑客技术—自学笔记
    第13期 | GPTSecurity周报
  • 原文地址:https://blog.csdn.net/weixin_62427168/article/details/126170577