所需要的软件有三种,navicat、intellij、谷歌浏览器。
先给大家看一下完整的项目结构,完整的代码已放在文章里面,需要的话可自行下载。
首先先创建一个简单项目
1-使用maven类型创建项目
2-配置项目依赖
代码如下
</dependency> <!--MySQL依赖--> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> </dependency> <!--JDBC依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
3-在配置类中配置以下信息。
4-在resources创建 cardata.sql、carschema.sql ,选择你要插入的数据或者创建表格。
代码如下
drop table if exists user; create table user( id int(12) auto_increment primary key comment '车号', name varchar(100) comment'车名', country varchar(100) comment'产地' )engine=InnoDB;
5-创建一个dao包,在里面创建一个dao类使用JdbcTemplate对数据库内容完成增删查改操作。
6-在dao类对数据库完成增删查改操作
dao类代码如下
package com.example.dao; import com.example.entity.CarBrad; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import java.util.List; @Service public class CarDao { JdbcTemplate template; @Autowired public CarDao(JdbcTemplate template){ this.template=template; } //获取车的数据 public List<CarBrad> getAll() { String sql = "select*from user"; return template.query(sql, (rs, rowNum) -> { CarBrad entity = new CarBrad(); entity.setId(rs.getInt("id")); entity.setName(rs.getString("name")); entity.setCountry(rs.getString("country")); return entity; }); } //根据id获取车信息 public CarBrad setById(Integer id) { String sql = " select*from user where id=?"; return template.queryForObject(sql, new Object[]{id} , new BeanPropertyRowMapper<>(CarBrad.class)); } //插入车数据 public int add(CarBrad entity){ String sql="insert into user(name, country) values(?,?)"; return template.update(sql,entity.getName(),entity.getCountry()); } //修改车数据 public int update(CarBrad entity) { String sql = "update user set name=? ,country=? where id=?"; return template.update(sql, entity.getName(), entity.getCountry(),entity.getId()); } //删除车数据 public int delete(Integer id){ String sql="delete from user where id=?"; return template.update(sql,id); } }
7-在项目中创建一个Controller类,提供响应的接口访问数据库操作
代码如下
package com.example.controller; import com.example.dao.CarDao; import com.example.entity.CarBrad; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/user") public class CarController { CarDao dao; @Autowired public CarController(CarDao dao){this.dao=dao;} @RequestMapping("/list") public List<CarBrad> getAll() {return dao.getAll();} //根据id获取车的信息 @RequestMapping("/getById/{userId}") public CarBrad findById(@PathVariable("userId")Integer id){ return dao.setById(id); } //插入车数据 @RequestMapping("/creat") public String insert(){ CarBrad entity=new CarBrad(); entity.setName("用户4"); entity.setCountry("中国"); return dao.add(entity)>0?"新增成功":"fail"; } //修改用户数据 @RequestMapping("/edit") public String edi(){ CarBrad entity=new CarBrad(); entity.setId(1); entity.setName("测试用户名-update"); entity.setCountry("测试国家名-update"); return dao.update(entity)>0?"修改成功":"fail"; } //删除车数据 @RequestMapping("/delete/{userid}") public String delete(@PathVariable("userid")Integer id){ return dao.delete(id)>0?"删除成功":"删除失败"; } }
7-2 完成一次插入数据到数据库,id为自动增加
注意:每次重新运行是记得点击car下面的 ”表“ 右击选择刷新
或者在这里插入数据。
7-3 查询所有数据。
7-4 根据Id查询相关属性。因为刚刚插入的数据为自动增长类型,id为3。
7-5 根据Id修改数据库中的数据
7-6 根据id删除指定一行数据