Spring Boot之使用JdbcTemplate

整體步驟:

(1)   在pom.xml加入jdbcTemplate的依賴;

(2)   編寫Dao類,聲明爲:@Repository,引入JdbcTemplate

(3)   編寫Service類,引入Dao進行使用

(4)   編寫Controller進行簡單測試。

具體操作流程如下:

使用JdbcTemplate類需要加入(如果在JPA已經加入的話,這個步驟就可以忽略了)

<dependency>

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

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

</dependency>

那麼只需要在需要使用的類中加入:

@Resource

private JdbcTemplate jdbcTemplate;

這樣就可以使用jdbcTemplate進行數據庫的操作了。

比如:

String sql = "insert into Demo(name,age) values(?,?)";

jdbcTemplate.update(sql, new Object[]{demo.getName(),demo.getAge()});

實戰代碼:

編寫com.mxh.web.dao.UserDao類

package com.mxh.web.dao;

import javax.annotation.Resource;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

import com.mxh.web.bean.UserDo;

@Repository
public class UserDao {
	
	@Resource
	private JdbcTemplate jdbcTemplate;
	
	public UserDo getById(Integer id){
		String sql = "select * from user where id=?";
		RowMapper<UserDo> rowMapper = new BeanPropertyRowMapper<UserDo>(UserDo.class);
		return jdbcTemplate.queryForObject(sql, rowMapper, id);
	}
}

com.mxh.web.service.UserService

package com.mxh.web.service;

import javax.annotation.Resource;
import javax.transaction.Transactional;

import org.springframework.stereotype.Service;

import com.mxh.web.bean.UserDo;
import com.mxh.web.dao.UserDao;
import com.mxh.web.dao.UserRepository;

@Service
public class UserService {
	
	@Resource
	private UserRepository userRepository;
	@Resource
	private UserDao userDao;
	
	
	@Transactional
	public UserDo getById(Integer id){
		//return userRepository.findOne(id);在demoRepository可以直接使用findOne進行獲取.
		return userDao.getById(id);
	}
	

}

com.mxh.web.controller.UserController

package com.mxh.web.controller;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.mxh.web.bean.UserDo;
import com.mxh.web.service.UserService;

@RestController
public class UserController {
	
	@Resource
	private UserService userService;
	
	@RequestMapping("/saveUser")
	public String saveUser(){
		UserDo user = new UserDo();
		user.setName("kkk");
		userService.saveUser(user);
		return "saveUser success!";
	}
	
	@RequestMapping("/getById")
	public UserDo getById(Integer id){
		return userService.getById(id);
	}
}

剩下的就是啓動進行測試了,在瀏覽器中輸入:http://127.0.0.1:8080/getById?id=2

可以看到

當前前提是你的數據庫中有id=2的數據了,不然會報錯的:

org.springframework.dao.EmptyResultDataAccessException

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章