整體步驟:
(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