Spring Boot USES jdbctemplate to operate on MYSQL database instances

  • 2020-07-21 07:46:40
  • OfStack

Recently, I learned to use Spring Boot to connect to the database. Today, I learned to use jdbctemplate to operate the MYSQL database. I will leave a note below

No nonsense, code first

pom file:


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 <modelVersion>4.0.0</modelVersion>

 

 <groupId>test</groupId>

 <artifactId>test</artifactId>

 <version>0.0.1-SNAPSHOT</version>

 <packaging>jar</packaging>

 

 <name>test</name>

 <url>http://maven.apache.org</url>

 

 <properties>

  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

 </properties>

  

 <dependencies>

  <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter</artifactId>

    <version>1.4.2.RELEASE</version>

  </dependency>

  <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-jdbc</artifactId>

    <version>1.4.2.RELEASE</version>

  </dependency>

   

  <dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.21</version>

   </dependency>

  

 </dependencies>

</project> 

Configuration file: ES13en.properties (the springboot framework USES this name by default, placed under resources)


spring.datasource.url=jdbc:mysql://localhost:3306/service_lucky_draw?autoReconnect=true&useUnicode=true&characterEncoding=utf-8

spring.datasource.username=root

spring.datasource.password=1234

spring.datasource.driver-class-name=com.mysql.jdbc.Driver 

spring.application.name = @pom.artifactId@

server.port=33333 

Start the class:


package versionUpdate;

import java.util.List;

import java.util.Map;

import org.apache.log4j.Logger;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.CommandLineRunner;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.jdbc.core.JdbcTemplate;

@SpringBootApplication

public class ApplicationMain implements CommandLineRunner {

  private Logger log = Logger.getLogger(ApplicationMain.class); 

  @Autowired

  private JdbcTemplate jdbcTemplate; 

  public static void main(String[] args) {

    SpringApplication springApplication = new SpringApplication(ApplicationMain.class);

    springApplication.run(args);

  } 

  @Override

  public void run(String... args) throws Exception {

    String queryMerchandiseInfoSql = "SELECT id,worth,channel_id,template_id FROM merchandise_info";

    List<Map<String, Object>> list = jdbcTemplate.queryForList(queryMerchandiseInfoSql);

    log.debug(list);

  }

}

So far, a simple SpringBoot+Jdbctemplate+MYSQL DEMO was built.

If you do not want to do database operations directly in the startup class, you can do the following:


package versionUpdate;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Component;

/**  To obtain jdbctemplate The instance  */

@Component

public class EnterJdbcTemplate {   

  private static JdbcTemplate jdbcTemplate; 

  @Autowired

  public EnterJdbcTemplate(JdbcTemplate jdbcTemplate) {

    this.jdbcTemplate = jdbcTemplate;

  }   

  public static JdbcTemplate getJdbcTemplate(){

    return jdbcTemplate;

  }   

} 

package versionUpdate;

import org.springframework.jdbc.core.JdbcTemplate;

/**  Operational database  */

public class Movedata extends EnterJdbcTemplate{

   

  public Movedata(JdbcTemplate jdbcTemplate) {

    super(jdbcTemplate);

  }
 public static void ccc(){

    System.out.println("++++++++++++++++++"+getJdbcTemplate().queryForMap("SELECT * FROM channel_info WHERE channel_id = ? ","cccc")); 

  }

} 


Related articles: