Spring Boot中JdbcTemplate

1. pom.xml

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

2. application.properties

#数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/jpa_test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3. JdbcTemplate

JdbcTemplate主要提供以下五类方法:

  • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
  • query方法及queryForXXX方法:用于执行查询相关语句;
  • call方法:用于执行存储过程、函数相关语句。
@Resource
private JdbcTemplate jdbcTemplate;

@Test
public  void testJDBC(){
    jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)", 2, 11, new Date(), "xuyang");
    System.out.println(jdbcTemplate.queryForList("SELECT  * FROM  USER ").size());;
}

JdbcTemplate多数据

1.application.properties

#JdbcTemplate多数据源
#主数据源
spring.datasource.master.jdbc-url=jdbc:mysql://localhost:3306/ncp?useUnicode=true&characterEncoding=utf8
spring.datasource.master.username=root
spring.datasource.master.password=root
spring.datasource.master.driver-class-name=com.mysql.jdbc.Driver

#从数据源
spring.datasource.cluster.jdbc-url=jdbc:mysql://localhost:3306/wltx?useUnicode=true&characterEncoding=utf8
spring.datasource.cluster.username=root
spring.datasource.cluster.password=root
spring.datasource.cluster.driver-class-name=com.mysql.jdbc.Driver

2.config

@Configuration
public class DataSourceConfig {

    @Bean("masterDataSource")
    @Primary
    @Qualifier("masterDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.master")
    public DataSource masterDataSource(){
        return DataSourceBuilder.create().build();
    }

    @Bean("masterJdbcTemplate")
    public JdbcTemplate masterJdbcTemplate(@Qualifier("masterDataSource") DataSource dataSource){
        return new JdbcTemplate(dataSource);
    }

    @Bean("clusterDataSource")
    @Qualifier("clusterDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.cluster")
    public DataSource clusterDataSource(){
        return DataSourceBuilder.create().build();
    }

    @Bean("clusterJdbcTemplate")
    public JdbcTemplate clusterJdbcTemplate(@Qualifier("clusterDataSource") DataSource dataSource){
        return new JdbcTemplate(dataSource);
    }

}

注意在application.properties中配置数据源url时使用的是jdbc-url, 如果使用的url则需要配置DataSourceProperties,并且使用该配置初始化数据源

@Bean("masterDataSourceProperties")
@Primary
@Qualifier("masterDataSourceProperties")
@ConfigurationProperties(prefix = "spring.datasource.master")
public DataSourceProperties masterDataSourceProperties(){
    return new DataSourceProperties();
}

@Bean("masterDataSource")
@Primary
@Qualifier("masterDataSource")
@ConfigurationProperties(prefix = "spring.datasource.master")
public DataSource masterDataSource(@Qualifier("masterDataSourceProperties") DataSourceProperties properties){
    return properties.initializeDataSourceBuilder().build();
}

转载
Spring Boot入门教程(十六): JdbcTemplate

猜你喜欢

转载自blog.csdn.net/lolwsyzc/article/details/83104721