1. 程式人生 > >spring boot(三):整合JdbcTemplate與mysql

spring boot(三):整合JdbcTemplate與mysql

前面兩篇文章我們講了兩件事情:

  1. 使用例項介紹springboot的入門基礎配置及tomcat埠的修改
  2. 使用spring boot訪問靜態資源

今天這篇文章我們來看下怎麼通過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());
	}
}

七、在controllerUserController.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 如圖顯示:

記得點一個贊哦,你的贊是小編成功的第一步

上一篇:springboot教程第二篇(整合靜態資源訪問)

下一篇spring boot(四):實現devtools熱部署

原始碼下載:https://github.com/APassionMy/github.springboot.actual