1. 程式人生 > >SpringBoot(四) 整合jdbcTemplet

SpringBoot(四) 整合jdbcTemplet

1、pom中加入資料庫和jdbcTemplet的依賴

        <!-- 資料庫 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>
		<dependency>
			<groupId>oracle</groupId>
			<artifactId>ojdbc</artifactId>
			<version>1.4</version>
		</dependency>

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

2、在application.properties中加入如下的配置資料庫的連線資訊

#mysql
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/boottest?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@172.31.1.70:1521:SGY
spring.datasource.username=
spring.datasource.password=

3、編寫jdbcTemplet的類即可,本例如下:  

   查詢:jdbcTemplate.query 返回指定類的集合         增刪改 jdbcTemplate.update 返回整型

package com.zw.dao;

import java.util.List;

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

import com.zw.domain.Student;

@Repository
public class StudentTemplet {
	
	@Autowired
	private JdbcTemplate jdbcTemplate;

	public Student getStudentById(String id) {
		String sql = "select * from student where id = ?";
//		List<User> list = jdbcTemplate.query("select * from tb_user", new Object[]{}, new BeanPropertyRowMapper(User.class));
//		jdbcTemplate.update("insert into tb_user(username, age, ctm) values(?, ?, ?)",
//		user.getUsername(),user.getAge(), new Date());
//		jdbcTemplate.update("UPDATE tb_user SET username = ? , age = ? WHERE id=?",
//		user.getUsername(),user.getAge(), id);
//		jdbcTemplate.update("DELETE from tb_user where id = ? ",id);
		
		List<Student> students = jdbcTemplate.query(sql,new Object[]{id}, new BeanPropertyRowMapper(Student.class));
		return (students!=null&& students.size()>0) ? students.get(0):null;
	}

	public int updateStudentById(Student stu) {
		String sql = "UPDATE student SET name = ? , score = ? WHERE id=?";		
		int a = jdbcTemplate.update(sql,stu.getName(),stu.getScore(),stu.getId());
		return a;
	}

}

4、在其他的serviceimpl中注入templet類即可

@Autowired
private StudentTemplet studentTemplet;

5、啟動啟動類,編寫介面測試即可。