spring-data-jdbc的基础使用(一)

本文介绍了Spring Data JDBC的基本使用,包括通过Spring Initializr创建项目、Java配置、数据库建表、仓储接口实现、关键字查询、生命周期事件机制以及实体回调等核心特性。Spring Data JDBC提供了一种轻量级的ORM解决方案,允许开发者根据方法名自动生成SQL,同时支持自定义SQL查询,简化了数据库操作。
摘要由CSDN通过智能技术生成

前言

很多人知道Mybatis,知道Jpa,但是对spring-data-jdbc可能了解的少之又少。注意我们这里说的是data-jdbc,而不是普通的jdbc。它拥有了类似jpa的一些特性,比如能够根据方法名推导出sql,基本的CRUD等,也拥有了写原生sql的能力。最为关键的是,它非常的清爽,不需要依赖hibernte或者jpa。

一、使用https://start.spring.io/ ,建立一个demo

file

二、使用 Java 配置的 Spring Data JDBC


// @EnableJdbcRepositories  为接口Repository 创建实现
//AbstractJdbcConfiguration 提供 Spring Data JDBC 所需的各种默认 bean
@Configuration
@EnableJdbcRepositories(basePackages = "com.example.springdatajdbctest")
public class ApplicationConfiguration extends AbstractJdbcConfiguration {
   



    /**
     * 创建DataSource,使用springboot的默认的连接池,当然你也可以使用druid
     * ConfigurationProperties注解,去配置项中找spring.datasource开头的配置项,来创建DataSource
     */

    @Bean
    @ConfigurationProperties(prefix="spring.datasource" )
    public DataSource dataSource() {
   
        return DataSourceBuilder.create().build();
    }
    /**
     * 官方使用内置的数据库类型
     @Bean
     public DataSource dataSource() {
     EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
     return builder.setType(EmbeddedDatabaseType.H2).build();
     }
     */

    /**
     * NamedParameterJdbcOperations是Spring Data JDBC 用来访问数据库的
     * @param dataSource
     * @return
     */
    @Bean
    NamedParameterJdbcOperations namedParameterJdbcOperations(DataSource dataSource) {
   
        return new NamedParameterJdbcTemplate(dataSource);
    }

    /**
     * 提供的事务管理
     * @param dataSource
     * @return
     */
    @Bean
    TransactionManager transactionManager(DataSource dataSource) {
   
        return new DataSourceTransactionManager(dataSource);
    }

对应的application.properties内容如下:

spring.datasource.jdbc-url = jdbc:mysql://127.0.0.1/sss?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useAffectedRows=true
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
spring.datasource.username = root
spring.datasource.password = ****

三、数据库建表、建实体类

create ta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值