我们发现这样对数据库进行增删改查很麻烦,所以我们用Spring JDBC
Spring JDBC是Spring框架对JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发。
写这样的博客文章能很好的梳理知识点,写完了后真的会带来成就感,然后推动着你不断学习,写下一篇文章。
而有赞或者评论的话会带来更多的成就感,如果这篇文章能帮到你,可以帮我点个赞,谢谢!
正文
步骤
导入jar包
创建JdbcTemplate对象(依赖于数据源DataSource)
调用JdbcTemplate的方法来完成CRUD的操作
我选择写在方法里,用测试类的测试对象区调用方法进行测试
在文章最后附该测试类所有代码
具体方法代码及运行结果图
修改
public void change(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="update user set address=530 where id=1";
int count=template.update(sql);
System.out.println(count);
}
增加
public void add(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="insert into user(id,name,username,password) values (?,?,?,?)";
template.update(sql,5,"wangwu","wangwu","wangwu");
}
删除
public void delete(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="delete from user where id=?";
int count=template.update(sql,5);
System.out.println(count);
}
查询id为1的记录,将其封装为Map集合
public Map<String,Object> selectMap(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user where id = ?";
Map<String,Object> map = template.queryForMap(sql,1);
return map;
}
在主函数中
testDemo2 u=new testDemo2();
//u.change();
//u.add();
//u.delete();
Map<String,Object> getmap=u.selectMap();
System.out.println(getmap);
运行结果
查询所有记录,将其封装为List集合
public void selectList(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user";
List<Map<String,Object>> list=template.queryForList(sql);
for (Map<String,Object> stringObjectMap : list){
System.out.println(stringObjectMap);
}
}
查询所有记录,将其封装为Emp对象的List集合
public List<User2> selectObject(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user";
List<User2> list=template.query(sql,new BeanPropertyRowMapper<User2>(User2.class));
return list;
}
// 主函数
List<User2> getObject=u.selectObject();
for (User2 user2:getObject) {
System.out.println(user2);
}
查询总记录数
public void selectCount(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select count(id) from user";
Long total=template.queryForObject(sql,Long.class);
System.out.println(total);
}
该测试类完整代码
package test;
import domain.User2;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import utils.JDBCUtils;
import java.util.List;
import java.util.Map;
/**
* @author Mike
* @use Spring JDBC测试类
*/
public class testDemo2 {
public static void main(String[] args) {
//1.导入jar包
//2.创建JdbcTemplate对象,依赖于数据源DataSource
// JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDatasource());
//3.调用JdbcTemplate的方法来完成crud的操作
//update();执行增删改语句
//queryForMap();查询结果,将结果集封装为map集合
//queryForList();查询结果,将结果封装为list集合
//query();查询结果,将结果封装为JavaBean对象
//queryForObject();查询结果,将结果封装为对象
testDemo2 u=new testDemo2();
//u.change();
//u.add();
//u.delete();
/*Map<String,Object> getmap=u.selectMap();
System.out.println(getmap);*/
//u.selectList();
/*List<User2> getObject=u.selectObject();
for (User2 user2:getObject) {
System.out.println(user2);
}*/
u.selectCount();
}
public void change(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="update user set address=530 where id=1";
int count=template.update(sql);
System.out.println(count);
}
public void add(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="insert into user(id,name,username,password) values (?,?,?,?)";
template.update(sql,5,"wangwu","wangwu","wangwu");
}
public void delete(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="delete from user where id=?";
int count=template.update(sql,5);
System.out.println(count);
}
public Map<String,Object> selectMap(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user where id = ?";
Map<String,Object> map = template.queryForMap(sql,1);
return map;
}
public void selectList(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user";
List<Map<String,Object>> list=template.queryForList(sql);
for (Map<String,Object> stringObjectMap : list){
System.out.println(stringObjectMap);
}
}
public List<User2> selectObject(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select * from user";
List<User2> list=template.query(sql,new BeanPropertyRowMapper<User2>(User2.class));
return list;
}
public void selectCount(){
JdbcTemplate template;
template = new JdbcTemplate(JDBCUtils.getDatasource());
String sql="select count(id) from user";
Long total=template.queryForObject(sql,Long.class);
System.out.println(total);
}
}
User2
package domain;
/**
* @author Mike
* @use 实体类
*/
public class User2 {
private int id;
private String name;
private String gender;
private int age;
private String address;
private String qq;
private String email;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId( Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "domain.User{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", address='" + address + '\'' +
", qq='" + qq + '\'' +
", email='" + email + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
文章是第一次复习时边敲代码边写的,如果看官们发现了错误或者有其他想交流的可以在评论处交流