Springboot这个系列实现的案例:员工后台管理系统
之前讲解的内容是前后端的交互,并没有涉及到数据库。把员工信息放置在一个数组中,实现的方法则是对数组的增删改查操作,但是从今天开始,实现的功能则是在数据库的基础上完善员工后台管理系统。
上一篇实现的功能是通过idea app自带的工具Database实现数据的连接,而这篇文章的则是实现的通过代码实现对数据库的连接,并通过代码实现对数据库的增删改查操作
一:在项目中的配置文件中进行对连接数据库的信息进行配置
案例:实现的是对Mysql数据库的连接
spring:
datasource:
username: demo1
password: 123
url: jdbc:mysql://localhost:3306/girls?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
username: 连接数据库的用户名
password:连接数据库的密码
url:连接的数据库的地址
url解析:
jdbc:mysql://localhost:3306/girls 数据库中的表的地址
serverTimezone=UTC 设置时区,防止因为时区出现超时问题
characterEncoding=utf-8 设置字符格式为UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver 驱动器,通过驱动才可以实现数据库的连接
通过测试来查看是否连接成功
@SpringBootTest class DemoApplicationTests { @Resource DataSource dataSource; @Test void contextLoads() throws Exception{ System.out.println(dataSource.getClass()); Connection connection = dataSource.getConnection(); System.out.println(connection); connection.close(); } }
结果输出:
第一行内容输出:数据源
第二行内容输出:表述数据库连接成功
二:通过代码实现对数据库的增删改查操作
数据库原始数据
第一步:查
@RestController
public class jdbc_controller {
@Resource
JdbcTemplate jdbcTemplate;
@RequestMapping("/show")
public List<Map<String,Object>> ShowList(){
String sql = "select * from boys"; //sql查询语句
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql); //通过数组去储存查询得来的数据
return maps; //将数据返回到网页中
}
}
结果:
第二步:增
@RestController
public class jdbc_controller {
@Resource
JdbcTemplate jdbcTemplate;
@RequestMapping("/show")
public List<Map<String,Object>> ShowList(){
String sql = "select * from boys";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
@RequestMapping("/add") //添加信息
public String AddData(){
String sql = "insert into girls.boys(id,boyName,userCP) values (5,'不想睡醒的梦',2001)";
jdbcTemplate.update(sql);
return "添加成功";
}
}
前端调用:
数据库数据:添加成功
第三步:改
@RestController
public class jdbc_controller {
@Resource
JdbcTemplate jdbcTemplate;
@RequestMapping("/show")
public List<Map<String,Object>> ShowList(){
String sql = "select * from boys";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
@RequestMapping("/add")
public String AddData(){
String sql = "insert into girls.boys(id,boyName,userCP) values (5,'不想睡醒的梦',2001)";
jdbcTemplate.update(sql);
return "添加成功";
}
@RequestMapping("/update/{id}") //id为获取的属性值
public String updateData(@PathVariable("id") int id){
String sql = "update girls.boys set boyName=?,userCP=? where id="+id;
Object[] objects = new Object[2]; //将数据放入数组中,为了数据的修改
objects[0] = "睡觉";
objects[1] = 29;
jdbcTemplate.update(sql,objects);
return "修改成功";
}
}
前端调用:
数据库数据:修改成功
第四步:删除
package com.example.demo.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@RestController
public class jdbc_controller {
@Resource
JdbcTemplate jdbcTemplate;
@RequestMapping("/show")
public List<Map<String,Object>> ShowList(){
String sql = "select * from boys";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
@RequestMapping("/add")
public String AddData(){
String sql = "insert into girls.boys(id,boyName,userCP) values (5,'不想睡醒的梦',2001)";
jdbcTemplate.update(sql);
return "添加成功";
}
@RequestMapping("/update/{id}")
public String updateData(@PathVariable("id") int id){
String sql = "update girls.boys set boyName=?,userCP=? where id="+id;
Object[] objects = new Object[2];
objects[0] = "睡觉";
objects[1] = 29;
jdbcTemplate.update(sql,objects);
return "修改成功";
}
@RequestMapping("/delate/{id}")
public String deleteData(@PathVariable("id") int id){
String sql = "delete from girls.boys where id=?";
jdbcTemplate.update(sql,id);
return "删除成功";
}
}
前端调用:
数据库数据: