版权声明:ApassionBoy https://blog.csdn.net/weixin_43150581/article/details/83014253
前面两篇文章我们讲了两件事情:
今天这篇文章我们来看下怎么通过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 如图显示:
记得点一个赞哦,你的赞是小编成功的第一步