189 8069 5689

批量删除的java代码,java中批量删除

java代码怎么正则删除redis的数据

java代码怎么正则删除redis的数据,即批量删除符合一定条件的redis数据,现在介绍批量删除已某些字符开头的redis数据:

创新互联公司-专业网站定制、快速模板网站建设、高性价比榆树网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式榆树网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖榆树地区。费用合理售后完善,10年实体公司更值得信赖。

在Java中连接Redis,并进行操作,首先得加载以JAR包形式存在的Java中的Redis Client,我们这里选择Jedis。以下是使用Jedis的具体步骤:

在Maven项目中,在pom.xml中增加如下语句(即加载Jedis jar包):

dependency

     groupIdredis.clients/groupId

artifactIdjedis/artifactId

    version2.7.2/version

typejar/type

/dependency

如不是Maven工程,就自行下载Jedis jar包引用即可。

在加载Jedis JAR包之后,可以直接使用新建一个Jedis实例的方法,来建立一个到Redis的连接,并进行操作。不过跟Mysql一样,每次操作的时候,都建立连接,很耗费性能。解决方法就是从一个连接池中取出连接对象,用完还回去。使用连接池的方案还能解决很多同步性问题。

在Jedis中,管理Redis连接的类是JedisPool

package com.atzy

import redis.clients.jedis.Jedis;  

import redis.clients.jedis.JedisPool;

public class RedisHelper {

public static void main(String[] args) {

JedisPool jedisPool = new JedisPool("localhost", 6379);

 Jedis jedis = null;

try {

jedis = jedisPool.getResource();

     String pre_str="ab"; 

      SetString set = jedis.keys(pre_str +"*");

      IteratorString it = set.iterator();

       while(it.hasNext()){

          String keyStr = it.next();

          System.out.println(keyStr);

          jedis.del(keyStr);

        }

} catch (Exception e) {

e.printStackTrace();

} finally {

if (jedis != null)

jedis.close();

}

jedisPool.destroy();

}

}

以上代码则是批量删除以某字符串前缀的key 。

java for循环生成的对象,如何批量删除?

从你给的代码中可以看出,五次循环中,new出的对象都是赋值给了mod这个变量,结束循环,mod的值就是最后一次new出的对象,你通过mod自然只能删除最后一个new出的对象,不管你调用mod.remove()多少次。

想要全部删除,这就要看你是否有对「5次循环中前4次生成的那些对象」的引用,比如放在了一个数组或者容器中,如果有,就可以遍历数组或者容器来删除,否则你无法删除,因为你都没有对它们的引用。

如果还需帮助,你可以把全部的代码粘贴出来看看~

怎么用java同时实现批量删除,批量修改

/*

怎么用java同时实现批量删除,批量修改?

*/

//1,可以利用循环批量来操作数组元素

int arr[] = new int[100];//定义一个数组,长度为100

//对该数组进行批量赋值

for (int i = 0; i arr.length; i++) {

arr[i] = i;

}

//2,对于集合,可以使用removeALL方法进行批量删除

ListString list = new ArrayListString();

list.add("1");

list.add("2");

list.add("3");

list.add("4");

list.add("5");

list.removeAll(list);

System.out.println(list);

//这上是java自带的一些方法

//3,JDBC

/**

* 对于数据库的操作,就需要用SQL语言来批量处理了;

* 比如:select *from EMP;

*

* 利用JDBC的一些方法,比如预处理命令,可以对数据库进行批量操作,

*/

如何实现springmvc+mybatis用多选框批量删除的功能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);

}

代码思路:

从前台勾选的选择框中传过来的值用“,”分开,然后遍历存放到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指代的意思如下:

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="${items.UNAME }" /

/td

td${page.onePageCount*(page.currentPage-1)+idx.count }/td

tr

/table

备注:此代码我传值的主键是用uname来删除的,实际应该用id作为主键,因为id的unique

,uname若重名,则就会出现bug,相信大家都明白,就不再过多解释了。

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; i id.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中怎样实现批量删除操作

直接 delete from xxx where id in (a,b,c...)

楼上说的循环可以实现,但是最好不要把DML操作写在循环里面 会影响效率。最好是跟数据库一次交互 直接完成。


分享标题:批量删除的java代码,java中批量删除
文章出自:http://cdxtjz.cn/article/heopcs.html

其他资讯