Spring-JDBCTemplate操作數據庫(批量增刪改)


JdbcTemplate操作數據庫(批量操作)

1.批量操作:操作表里面多條記錄

 

2.批量操作

batchUpdate(String sql, List<Object[]> batchArgs) 

兩個參數

第一個參數:sql語句

第二個參數:List集合,添加多條數據

 

package com.orzjiangxiaoyu.spring.dao;

import com.orzjiangxiaoyu.spring.entity.User;

import java.util.List;

/**
 * @author orz
 * @create 2020-08-18 9:36
 */
public interface UserDao {


    public void  batchInsertUser(List<Object []> batchArgs);

    public void  batchUpdateUser(List<Object []> batchArgs);

    public void  batchDeleteUser(List<Object []> batchArgs);
}
package com.orzjiangxiaoyu.spring.dao;

import com.orzjiangxiaoyu.spring.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.Arrays;
import java.util.List;

/**
 * @author orz
 * @create 2020-08-18 9:37
 */
@Repository
public class UserDaoImpl implements UserDao {

    //注入JdbcTemplate
    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public void batchInsertUser(List<Object[]> batchArgs) {
        //1.創建sql語句
        String sql = "insert into t_user(user_id,username,ustatus) values(?,?,?)";
        //2.調用方法實現

        int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
        System.out.println(Arrays.toString(ints));
    }

    @Override
    public void batchUpdateUser(List<Object[]> batchArgs)
    {
        //1.創建sql語句
        String sql = "update t_user set username=?,ustatus=? where user_id=?";
        //2.調用方法實現

        int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
        System.out.println(Arrays.toString(ints));
    }

    @Override
    public void  batchDeleteUser(List<Object []> batchArgs)
    {
        //1.創建sql語句
        String sql = "delete from t_user where user_id=?";
        //2.調用方法實現
        int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
        System.out.println(Arrays.toString(ints));
    }

}
package com.orzjiangxiaoyu.spring.service;

import com.orzjiangxiaoyu.spring.dao.UserDao;
import com.orzjiangxiaoyu.spring.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author orz
 * @create 2020-08-18 9:36
 */
@Service
public class UserService {
    //注入dao
    @Autowired
    private UserDao userDao;


    //批量添加
    public void  batchInsertUser(List<Object []> batchArgs)
    {
        userDao.batchInsertUser(batchArgs);
    }

    //批量修改
    public void  batchUpdateUser(List<Object []> batchArgs)
    {
        userDao.batchUpdateUser(batchArgs);
    }

    //批量刪除
    public void  batchDeleteUser(List<Object []> batchArgs)
    {
        userDao.batchDeleteUser(batchArgs);
    }
}

測試

package com.orzjiangxiaoyu.spring.mysqltestdemo;

import com.orzjiangxiaoyu.spring.entity.User;
import com.orzjiangxiaoyu.spring.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.ArrayList;
import java.util.List;

/**
 * @author orz
 * @create 2020-08-18 10:20
 */
public class Test2 {

    //批量增加
    @Test
    public void test7()
    {
        ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml");

        UserService userService = context.getBean("userService", UserService.class);

        List<Object []> batchArgs=new ArrayList<>();
        Object [] o1={4,"java","a"};
        Object [] o2={5,"c++","b"};
        Object [] o3={6,"mysql","c"};
        batchArgs.add(o1);
        batchArgs.add(o2);
        batchArgs.add(o3);

        //調用批量添加
        userService.batchInsertUser(batchArgs);

    }


    //批量修改
    @Test
    public void test8()
    {
        ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml");

        UserService userService = context.getBean("userService", UserService.class);

        List<Object []> batchArgs=new ArrayList<>();
        Object [] o1={"李華","fat",4};
        Object [] o2={"PHP","B",5};
        Object [] o3={"SQL","A",6};
        batchArgs.add(o1);
        batchArgs.add(o2);
        batchArgs.add(o3);

        //調用批量修改
        userService.batchUpdateUser(batchArgs);

    }


    //批量刪除
    @Test
    public void test9()
    {
        ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml");

        UserService userService = context.getBean("userService", UserService.class);

        List<Object []> batchArgs=new ArrayList<>();
        Object [] o1={4};
        Object [] o2={5};
        Object [] o3={6};
        batchArgs.add(o1);
        batchArgs.add(o2);
        batchArgs.add(o3);

        //調用批量修改
        userService.batchDeleteUser(batchArgs);

    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM