列表批量删除Java代码 java代码里面删除表数据

Java中怎样实现批量删除操作(Java对数据库如果是mybatis的话可以传id集合给xml、然后xml使用foreach遍历删除就好了
Java中怎样实现批量删除操作Java中怎样实现批量删除操作
Java中实现批量删除操作的方法如下:
示例代码如下:
public PreparedStatement pstmt=null;
/**
* 得到连接对象
*/
public void getConnection(){
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/zufang?user=rootpassword=rootuseUnicode=truecharacterEncoding=GB2312";
try {
【列表批量删除Java代码 java代码里面删除表数据】Class.forName(driver);
con=DriverManager.getConnection(url,"root","root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection con=null;
public PreparedStatement pstmt=null;
/**
* 得到连接对象
*/
public void getConnection(){
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/zufang?user=rootpassword=rootuseUnicode=truecharacterEncoding=GB2312";
try {
Class.forName(driver);
con=DriverManager.getConnection(url,"root","root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/ * 批量删除信息表中的信息
* @param sql
* @param param
* @return
*/
public boolean updateBatchDel(String sql,String[] param){
boolean flag = false;
getConnection();
try {
con.setAutoCommit(false);
pstmt = con.prepareStatement(sql);
for(int i =0 ;iparam.length;i){
pstmt.setString(1,param[i].trim());
pstmt.addBatch();
}
pstmt.executeBatch(); //批量执行
con.commit();//提交事务
flag = true;
} catch (SQLException e) {
try {
con.rollback(); //进行事务回滚
} catch (SQLException ex) {
ex.printStackTrace();
}
}finally {
closeAll(null,pstmt,con);
}
return flag;
}
/**
* 批量删除信息表中的信息
* @param sql
* @param param
* @return
*/
public boolean updateBatchDel(String sql,String[] param){
boolean flag = false;
getConnection();
try {
con.setAutoCommit(false);
pstmt = con.prepareStatement(sql);
for(int i =0 ;iparam.length;i){
pstmt.setString(1,param[i].trim());
pstmt.addBatch();
}
pstmt.executeBatch(); //批量执行
con.commit();//提交事务
flag = true;
} catch (SQLException e) {
try {
con.rollback(); //进行事务回滚
} catch (SQLException ex) {
ex.printStackTrace();
}
}finally {
closeAll(null,pstmt,con);
}
return flag;
}
如何实现springmvc mybatis用多选框批量删除的功能Java代码我会将在编写过程中出现列表批量删除Java代码的一些小知识点也进行总结概括列表批量删除Java代码的 。
此项目基于的框架是列表批量删除Java代码:springmvc mybatis
(1)controller
/**
* 批量删除 batch
*/
@RequestMapping("/batchDeletes")
@ResponseBody
public void batchDeletes(HttpServletRequest request,HttpServletResponse response){
String items = request.getParameter("delitems");
ListString delList = new ArrayListString();
String[] strs = items.split(",");
for (String str : strs) {
delList.add(str);
}
userService.batchDeletes(delList);
}
代码思路列表批量删除Java代码:
从前台勾选的选择框中传过来的值用“,”分开,然后遍历存放到delList集合里面,直接删delList集合里面的所有字符串 。
(2)service
/**
* 批量删除
*/
void batchDeletes(List delList);
(3)impl
/**
* 批量删除
*/
@Override
public void batchDeletes(List delList) {
userMapper.batchDeletes(delList);
}
(4)mapper
/**
* 批量删除
*/
void batchDeletes(List delList);
(5)mapper.xml
!--批量删除 --
delete id="batchDeletes" parameterType="java.util.List"
DELETE FROM tp_user where uname in
foreach collection="list" index="index" item="item" open="(" separator="," close=")"
#{item}
/foreach
/delete
如上的mybatis指代的意思如下列表批量删除Java代码:
foreach元素的属性主要有 item , index,collection,open,separator,close 。
item表示集合中每一个元素进行迭代时的别名.(直接找到对应的delList集合里面的所有元素,item="item"中的item(后一个)必须与#{item}中的item一致)
index指 定一个名字,用于表示在迭代过程中 , 每次迭代到的位置.
open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符.
close表示以什么结束.
前台代码:
user_list.jsp
//全选
function selectAll(){
if ($("#SelectAll").is(":checked")) {
$(":checkbox").prop("checked", true);//所有选择框都选中
} else {
$(":checkbox").prop("checked", false);
}
}
//批量删除
function batchDeletes(){
//判断至少写了一项
var checkedNum = $("input[name='subcheck']:checked").length;
if(checkedNum==0){
alert("请至少选择一项!");
return false;
}
if(confirm("确定删除所选项目?")){
var checkedList = new Array();
$("input[name='subcheck']:checked").each(function(){
checkedList.push($(this).val());
});
$.ajax({
type:"POST",
url:"web/user/batchDeletes.action",
data:{"delitems":checkedList.toString()},
datatype:"html",
success:function(data){
$("[name='checkbox2']:checkbox").attr("checked",false);
art.dialog.tips('删除成功!');
setTimeout("location.reload()",1000);//页面刷新
},
error:function(data){
art.dialog.tips('删除失败!');
}
});
}
}
table class="tb_list"
tr
td align="center"input type="checkbox" id="SelectAll"
onclick="selectAll();" / 全选/td
th序号/th
/tr
c:forEach items="${page.list }" var="items" varStatus="idx"
tr class="row_${idx.count%2 1}"
td style="display:none"${batch.id}/td
td align="center"input type="checkbox" id="subcheck"
name="subcheck" value="https://www.04ip.com/post/${items.UNAME }" /
/td
td${page.onePageCount*(page.currentPage-1) idx.count }/td
tr
/table
备注:此代码我传值的主键是用uname来删除的,实际应该用id作为主键 , 因为id的unique
,uname若重名,则就会出现bug,相信大家都明白,就不再过多解释了 。
java如何实现对数据表里面的数据删除(最好给个具体代码范例)连接数据库
public class DBManager {
//定义数据库连接列表批量删除Java代码的URL
private static final String URL="jdbc:sqlserver://localhost:1433;database=j1105";
//定义数据库列表批量删除Java代码的用户名
private static final String USERNAME = "sa";
//定义数据库密码
private static final String PASSWORD = "sa";
//定义一个连接列表批量删除Java代码的引用,使用单例模式
private static Connection conn = null;
//使用静态块来注册驱动
//类加载时自动执行代码块
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//获得连接
//在程序使用过程中始终只有1个对象存在
//使用单例模式来给Connection赋值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 关闭列表批量删除Java代码的一些操作 , 优化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
/**
* 重写上面的方法,在只有2个参数的情况下关闭
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args){
Connection conn = DBManager .getConnection();
System.out.println(conn);
}
}
接口
public interface IStudentDao {
public void deleteStudent(int xh);
}
实现
public class StudentDAOimpl implements IStudentDao {
public void deleteStudent(int xh) {
try{
String sql = "delete from tb_student where xh = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, xh);
ps.executeUpdate();
System.out.println("成功删除");
}catch(SQLException e){
e.printStackTrace();
}
}
}
JAVA批量删除问题public boolean delUser(int[] id) {
boolean flag = false;
String sql = "delete from userInfo where userId=?";
conn = base.getConnection();
PreparedStatement pst = null;
try {
pst = conn.prepareStatement(sql);
for (int i = 0; iid.length; i) {
pst.setInt(1, id[i]);
// 使用批处理
pst.addBatch();
}
// 执行批处理
int[] result = pst.executeBatch();
if (result[0]0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
base.free(conn, pst, null);
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
只能这样来进行批量删除好好的看一下
关于列表批量删除Java代码和java代码里面删除表数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读