JdbcTemplate便是Spring提供的一个操作数据库的便捷工具。我们可以借助JdbcTemplate来执行所有数据库操操作。
JdbcTemplate主要提供以下五种类型的方法:
execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句。
update、batchUpdate方法:用于执行新增、修改、删除等语句。
query方法及queryForXXX方法:用于执行查询相关的语句。
call方法:用于执行数据库存储过程和函数相关的语句。
1. 创建springboot项目
2、导入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
3. yml配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8
username: root
password: 19990704
driver-class-name: com.mysql.jdbc.Driver
4、实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String username;
private String password;
}
5、controller
//注入jdbcTemplate组件
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/")
@ResponseBody
public List<User> ss () {
//模拟增加
// String name="张三";
// String password="李四";
// int update = jdbcTemplate.update("insert into user(username,password) values(?,?)",name,password);
// return update>0?"添加成功":"添加失败";
//模拟查询
String sql = "select * from user";
List<User> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
return query;
//模拟删除
// int id=1;
// int update = jdbcTemplate.update("delete from user where id=?", id);
// return update>0?"删除成功":"删除失败";
//模拟修改
// int id=2;
// String username="小明";
// int update=jdbcTemplate.update("update user set username=? where id=?",username,id);
// return update>0?"修改成功":"修改失败";
}
- 结果