Spring JDBC操作


1、在JAVA创建数据库表对象

package com.lianyou.spring5.entity;

/**
 * @author wuzk
 * @create 2022- 02-20 15:39
 */
public class Book {
    private int user_id;
    private String username;
    private String ustatus;

    public int getUser_id() {
        return user_id;
    }

    public void setUser_id(int user_id) {
        this.user_id = user_id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUstatus() {
        return ustatus;
    }

    public void setUstatus(String ustatus) {
        this.ustatus = ustatus;
    }
}

2、创建DAO接口及其对应实现类

public interface BookDao {
    void add(Book book);
}

@Repository
public class BookDaoImpl implements BookDao{
    @Autowired
    private JdbcTemplate jdbcTemplate;


    @Override
    public void add(Book book) {
        String sql = "insert into t_book values(?,?,?) ";
        int update = jdbcTemplate.update(sql, book.getUser_id(), book.getUsername(), book.getUstatus());
        System.out.println(update);
    }
}

3、创建sevice

@Service
public class BookService {
    @Autowired
    private BookDao bookDao;

    public void add(Book book){
        bookDao.add(book);
    }
}

4、编辑XML配置

<?xml version="1.0" encoding="UTF-8"?>

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
                        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd ">
    
    class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
        
        
        
        
    

    
    class="org.springframework.jdbc.core.JdbcTemplate">
      
package="com.lianyou">

测试

public class TestBook {
    @Test
    public void testJDBCTemplate(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        BookService bookService = context.getBean("bookService", BookService.class);
        Book book = new Book();
        book.setUser_id(1);
        book.setUsername("java");
        book.setUstatus("a");

        bookService.add(book);
    }
}
@Override
public void updataBook(Book book) { //修改
String sql = "update t_book set username=?,ustatus=? where user_id=?";
Object[] arg = { book.getUsername(), book.getUstatus(),book.getUser_id()};
int update = jdbcTemplate.update(sql, arg);
System.out.println(update);
}
//删除
@Override
public void delect(int id) {
String sql = "delete from t_book where user_id = ?";
int update = jdbcTemplate.update(sql, id);
System.out.println(update);

}
//查询表记录数
@Override
public int selectCount() {
String sql = "select count(*) from t_book";
Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
return count;
}
//查询返回对象
@Override
public Book findBookInfo(String id) {
String sql = "select * from t_book where user_id=?";
//调用方法
Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper(Book.class), id);
return book;
}
//查询返回集合
@Override
public List findAllBook() { String sql = "select * from t_book";
//调用方法
List bookList = jdbcTemplate.query(sql, new BeanPropertyRowMapper(Book.class));
return bookList;
}


 5、批量操作

 //批量添加
    @Override
    public void batchAddBook(List batchArgs) {
        String sql = "insert into t_book values(?,?,?)";
        int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
        System.out.println(Arrays.toString(ints)); }
    //批量添加测试
    List batchArgs = new ArrayList<>();
    Object[] o1 = {"3","java","a"};
    Object[] o2 = {"4","c++","b"};
    Object[] o3 = {"5","MySQL","c"};
    batchArgs.add(o1);
    batchArgs.add(o2);
    batchArgs.add(o3);
    //调用批量添加
    bookService.batchAdd(batchArgs);
}
//批量修改 @Override public void batchUpdateBook(List batchArgs) { String sql = "update t_book set username=?,ustatus=? where user_id=?"; int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs); System.out.println(Arrays.toString(ints)); //批量修改测试 List batchArgs = new ArrayList<>(); Object[] o1 = {"java0909","a3","3"}; Object[] o2 = {"c++1010","b4","4"}; Object[] o3 = {"MySQL1111","c5","5"}; batchArgs.add(o1); batchArgs.add(o2); batchArgs.add(o3); //调用方法实现批量修改 bookService.batchUpdate(batchArgs); //批量删除 @Override public void batchDeleteBook(List batchArgs) { String sql = "delete from t_book where user_id=?"; int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs); System.out.println(Arrays.toString(ints)); } //批量删除 测试   List batchArgs = new ArrayList<>(); Object[] o1 = {"3"}; Object[] o2 = {"4"}; batchArgs.add(o1); batchArgs.add(o2); //调用方法实现批量删除 bookService.batchDelete(batchArgs);
SSM