本文共 2946 字,大约阅读时间需要 9 分钟。
目录
在pom.xml中添加对JdbcTemplate的依赖:
org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java runtime
在application.properties文件配置mysql的驱动类,数据库地址,数据库账号、密码信息。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?useSSL=falsespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.max-idle=10spring.datasource.max-wait=10000spring.datasource.min-idle=5spring.datasource.initial-size=5
首先新建一个简单的数据表:
DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
然后建立对应的实体类:
package com.example.demo.entity;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;import java.io.Serializable;@Data@NoArgsConstructor@AllArgsConstructor@ToStringpublic class User implements Serializable { private Integer id; private String name; private Integer age;}
package com.example.demo.controller;import com.example.demo.entity.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.web.bind.annotation.*;import java.util.List;@RestController@RequestMapping(value = "/user")public class JdbcTemplateController { @Autowired private JdbcTemplate jdbcTemplate; @RequestMapping("/add") public int addUser(User user) { //新增数据 String sql = "insert into user (id, name, age) value (?,?,?)"; return jdbcTemplate.update(sql, user.getId(), user.getName(), user.getAge()); } @RequestMapping("/del/{id}") public int delUser(@PathVariable Long id) { // 根据主键ID删除用户信息 String sql = "DELETE FROM user WHERE id = ?"; return jdbcTemplate.update(sql, id); } @RequestMapping("/update/{id}") public int updateUser(@PathVariable Long id, User user) { // 根据主键ID修改用户信息 String sql = "UPDATE user SET name = ? ,age = ? WHERE id = ?"; return jdbcTemplate.update(sql, user.getName(), user.getAge(), id); } @RequestMapping("/getData") public ListqueryUser() { // 查询所有用户 String sql = "select * from user"; return jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<>(User.class)); } @RequestMapping("/get/{id}") public User getUser(@PathVariable Long id) { // 根据主键ID查询用户 String sql = "select * from user where id = ?"; return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class)); }}
新增数据:在postman测试工具中输入localhost:8080/user/add
我们可以看到,新增已经成功了。
其余删除,更新操作与新增代码不变,只是sql的变化,这里不做演示。