栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot对数据库的访问

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot对数据库的访问

1、数据源的自动配置-HikariDataSource


1、导入JDBC场景


       org.springframework.boot
       spring-boot-starter-data-jdbc



数据库驱动?
为什么导入JDBC场景,官方不导入驱动?官方不知道我们接下要操作什么数据库。
数据库版本和驱动版本对应

默认版本:8.0.26

        
            mysql
            mysql-connector-java

        
想要修改版本
1、直接依赖引入具体版本(maven的就近依赖原则)
2、重新声明版本(maven的属性的就近优先原则)
    
        1.8
        5.1.49
    

2、分析自动配置

1、自动配置的类

  • DataSourceAutoConfiguration : 数据源的自动配置
  • 修改数据源相关的配置:spring.datasource
  • 数据库连接池的配置,是自己容器中没有DataSource才自动配置的
  • 底层配置好的连接池是:HikariDataSource
@Configuration(proxyBeanMethods = false)
	@Conditional(PooledDataSourceCondition.class)
	@ConditionalOnMissingBean({ DataSource.class, XADataSource.class })
	@import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,
			DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.OracleUcp.class,
			DataSourceConfiguration.Generic.class, DataSourceJmxConfiguration.class })
	protected static class PooledDataSourceConfiguration

  • DataSourceTransactionManagerAutoConfiguration: 事务管理器的自动配置
  • JdbcTemplateAutoConfiguration: JdbcTemplate的自动配置,可以来对数据库进行crud
  • 可以修改这个配置项@ConfigurationProperties(prefix = "spring.jdbc") 来修改JdbcTemplate
  • @Bean@Primary JdbcTemplate;容器中有这个组件
  • JndiDataSourceAutoConfiguration: jndi的自动配置
  • XADataSourceAutoConfiguration: 分布式事务相关的

使用Druid数据源

1、druid官方github地址

GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池

整合第三方技术的两种方式

  • 自定义

导入依赖坐标


       com.alibaba
       druid
       1.1.8

 开启监控页功能

@Bean
public ServletRegistrationBean statViewServlet(){
    StatViewServlet statViewServlet = new StatViewServlet();
    ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(statViewServlet, "/druid
    @Bean
    public FilterRegistrationBean webStatFilter(){
        WebStatFilter webStatFilter = new WebStatFilter();
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(webStatFilter);
        filterRegistrationBean.setUrlPatterns(Arrays.asList("*.xml;任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。 建议以后sql映射文件,放在 mapper下
  • 容器中也自动配置好了 SqlSessionTemplate
  • @Mapper 标注的接口也会被自动扫描;建议直接 @MapperScan("com.atyuan.mapper") 批量扫描就行
  • 优点:

    • 只需要我们的Mapper继承 baseMapper 就可以拥有crud能力

    baseMapper : 默认使用T名称的表

     什么都不需要写就可以实现基本的增删改操作

     mybatis-plus的注解

    @TableField(exist = false)  //表示当前属性表中不存在
    @TableName("user_tbl"):指定对应的sql表
    @RequestParam(value = "pn",defaultValue = "1"):接收参数pn,如果没有传pn,则设置默认值
    
     
    

     

    继承Mybatis-plus定义的Service类就可以调用增删改的方法,以及页码操作 

    Page userPage = new Page<>(pn,2);   //参数1:当前页码, 参数2:每页显示的跳数

    Page page = userService.page(userPage, null);

     
    

    page第二个参数是查询的条件 

     

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/315121.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号