spring boot(三):整合JdbcTemplate與mysql
阿新 • • 發佈:2018-11-19
前面兩篇文章我們講了兩件事情:
今天這篇文章我們來看下怎麼通過JdbcTemplate進行資料的持久化,
因為會涉及到使用mysql資料庫,所以這裡就同時把mysql一起講完,
這裡需要自己動手建立一個數據庫及表用來測試,欄位如下:
database hr table users 欄位 型別 長度 是否為空 註釋 Id int not null Id usename varchar 30 null 姓名 age int not null 年齡 birthday
varchar 30 null 生日
一、首先在pom.xml檔案中加入依賴:
<!-- 引入jdbc 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- 引入 mysql 資料庫連線依賴 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
二、建立以下package包名:
com.test.entity / /存放實體類的
com.test.service / /業務邏輯層
com.test.service.Impl / /存放實現類的
com.test.util / /工具包
三、修改application.properties加入mysql連線配置
#mysql連線池
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc\:mysql\://localhost:3306/hr
spring.datasource.username=root
spring.datasource.password=rootadmin
到這前期工作做好了,現在開始實戰
四、在entity包中建立實體物件(Users.java)
package com.test.entity;
import java.io.Serializable;
/**
* 實體類
* @ClassName: Users
* @Description: TODO
* @author chenshangbing
* @date 2018年9月13日 下午4:18:59
* @Serializable 對實體進行序列化,才可以新增到資料庫中
*/
public class Users implements Serializable{
private int id;
private String usename;
private int age;
private String birthday;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsename() {
return usename;
}
public void setUsename(String usename) {
this.usename = usename;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "Users [id=" + id + ", usename=" + usename + ", age=" + age + ", birthday=" + birthday + "]";
}
}
五、在service層建立interface介面UserService.java
package com.test.service;
import com.test.entity.Users;
/**
*
* @ClassName: UserService
* @Description: TODO
* @author chenshangbing
* @date 2018年10月11日 下午5:13:46
*
*/
public interface UserService {
//建立介面
public void save(Users users);
}
六、在UserServiceImpl實現層中新增實現類UserServiceImpl.java
package com.test.service.Impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.test.entity.Users;
import com.test.service.UserService;
/**
* jdbcTemplate.update用於修改與新增
* @ClassName: UserServiceImpl
* @Description: TODO
* @author chenshangbing
* @date 2018年9月30日 下午4:14:09
* @Repository 表示Spring把建立好的save注入給Service
*/
@Repository
public class UserServiceImpl implements UserService {
@Autowired
JdbcTemplate jdbcTemplate; // 這裡相當於初始化JdbcTemplate物件
public void save(Users users) {
//新增sql語句
String sql = "insert into users(Id,usename,age,birthday)values(?,?,?,?)";
//呼叫方法
jdbcTemplate.update(sql, users.getId(), users.getUsename(), users.getAge(), users.getBirthday());
}
}
七、在controller的UserController.java類中去實現新增資料:
package com.test.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mysql.fabric.xmlrpc.base.Data;
import com.test.entity.Users;
import com.test.service.UserService;
/**
*
* @ClassName: UserController
* @Description: TODO
* @author chenshangbing
* @date 2018年10月11日 下午5:25:14
*
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
UserService userService; //service層介面
@RequestMapping("/addUser")
public Map<String,Object> addUser(){
Map<String, Object>map=new HashMap<String, Object>();
//初始化物件
Users users=new Users();
//給物件賦值
users.setId(03);
users.setUsename("admin");
users.setAge(19);
users.setBirthday("2018-09-30");
//呼叫新增save方法
userService.save(users);
map.put("新增成功", true);
return map;
}
}
完了就去呼叫方法http://localhost:8090/addUser 如圖顯示:
記得點一個贊哦,你的贊是小編成功的第一步
下一篇:spring boot(四):實現devtools熱部署
原始碼下載:https://github.com/APassionMy/github.springboot.actual