Spring Boot项目中使用jdbctemplate 操作MYSQL数据库

Posted on 2016-11-18 18:10  Mr.ning  阅读(8048)  评论(0编辑  收藏  举报

不废话,先来代码

pom文件:

<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>

  配置文件:application.properties(springboot框架默认使用这个名字,放在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

  启动类:

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);
	}
}

  至此一个简单的SpringBoot+Jdbctemplate+MYSQL的DEMO搭建完成;

如果不想在启动类里面直接进行数据库操作,可以按照下面的方式:

package versionUpdate;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

/** 获取jdbctemplate实例 */
@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;

/** 操作数据库 */
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")); 
	}
}