1、连接数据库
按图示顺序对数据库进行连接
对数据库进行连接
若数据库为服务器上的数据库,则还需进行如下操作:
出现一下界面为连接成功
2、导入依赖等准备工作
2.1、导入依赖
<!-- MYSQL-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
倘若在pom.xml文件中的依赖爆红,我们需要手动的刷新一下Maven。
2.2、配置资源
Spring Boot一般支持两种资源配置文件。分别是application.properties和application.yaml
我个人比较倾向于使用yaml来进行配置。
在application.yaml中编写相关配置
我在这里程序运行出错,原因是URL中没有配置时区,因为有些时候可能需要配置时区
假如时区报错了,就在url中添加时区 serverTimezone=UTC
3、代码编写
这个不用在意在哪里进行jdbc操作的,主要是学会方法
引入JdbcTemplate
@Autowired //自动注入
JdbcTemplate jdbcTemplate;
关于JdbcTemplate
JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。
JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。
Spring源码地址:https://github.com/spring-projects/spring-framework
在JdbcTemplate中执行SQL语句的方法大致分为3类:
execute:可以执行所有SQL语句,一般用于执行DDL语句。
update:用于执行INSERT、UPDATE、DELETE等DML语句。
queryXxx:用于DQL数据查询语句。
查询
@GetMapping("/userList") //设置Mapping
public List<Map<String,Object>> userList(){
String sql = "select * from student"; //sql语句
//通过jdbcTemplate.queryForList(sql)执行sql语句,并将查询出来的结构放在定义的List中
List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sql);
return list_maps; //通过List将查询出来的结果返回到前端
}
添加
@GetMapping("/addUser")
public String addUser(){
String sql = "insert into student(id,name,age,user) values(5,'七七',23,'七')";
jdbcTemplate.update(sql);
return "add-ok";
}
删除
这里通过用户在输入URL时所带的id,来决定删除表中的那个数据
@GetMapping("/deleteUser/{id}")
public String delUser(@PathVariable("id") int id){
String sql = "delete from student where id = ?" ;
jdbcTemplate.update(sql,id);
return"delete-->ok";
}
修改
@GetMapping("/updateUser/{id}")
public String update(@PathVariable("id") int id){
String sql = "update student set name=?,age=? where id =" + id;
//封装
Object[] objects = new Object[2];
objects[0]="马户子";
objects[1]="45";
jdbcTemplate.update(sql,objects);
return "update-->ok";
}