JDBC-Spring JDBC

我们发现这样对数据库进行增删改查很麻烦,所以我们用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 + '\'' +
                '}';
    }
}

文章是第一次复习时边敲代码边写的,如果看官们发现了错误或者有其他想交流的可以在评论处交流

写这样的博客文章能很好的梳理知识点,写完了后真的会带来成就感,然后推动着你不断学习,写下一篇文章。

而有赞或者评论的话会带来更多的成就感,如果这篇文章能帮到你,可以帮我点个,谢谢!

发布了18 篇原创文章 · 获赞 18 · 访问量 1184

猜你喜欢

转载自blog.csdn.net/qq_42542609/article/details/102546405