java 同步map_Java间数据的同步(StringBuffer,Map)

本文介绍了在Java程序的多线程环境中,如何在方法间同步字符串和Map数据。通过使用StringBuffer确保单个字符串在同一事务中保持一致,而Map则用于传递多个值,其中值为Object类型,如需存储字符串则先转换为StringBuffer。举例展示了如何在dabao方法中填充StringBuffer,然后在send方法中通过Map获取。此外,还讨论了Map在数据库查询和字段值管理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java程序中,假如程序中N个方法放在一个java事务中,那么可能这几个方法中,每个方法都要用到某个值。并且作为一个事物,这个值应该是同一个值,而不应该会被多线程混乱,这时,方法间传值时,单个字符串,就要用到StringBuffer来传,传2个甚至多个字符串,就要用到Map(注意,用MAP传值时,map中的参数,要是Object类型的,所以如果map中要存放2个字符串,那么先将这2个字符串分别放到2个StringBuffer里面,再把这2个StringBuffer放到Map里)这2个StringBuffer在方法里面建就行了(局部变量),传递的时候传递MAP参数。

例:

同步单个字符串(mobilecode ):

publicintdabao(String tongdaoid, String mainid,StringBuffer sb,Connection conn)throwsException {

....

while(rs.next()) {

mobilecode = rs.getString("MOBILECODE");

}

...

sb.append(mobilecode);//将while中得到的mobilecode放到了StringBuffer中,下面send中调用时用到的StringBuffer用到的就是这里的

publicintsend(String tongdaoid, String mainid, Connection conn)throwsException {//调用上面加进来的StringBuffer

intsjfsnumber =0;

StringBuffer sb =newStringBuffer();

sjfsnumber = dabao(tongdaoid, mainid,sb, conn);//send调用dabao

}

同步2个字符串(mobilecode ,clientid):

dabao(){

StringBuffer b1=newStringBuffer();

StringBuffer b2=newStringBuffer();

b1.append(mobilecode );//将mobilecode 放到b1中

b2.append(clientid);//将clientid放到b2中

Map p=newHashMap();

p.put("mobilecode1",b1);//前面双引号引起来的,是到时候要得到p时候get的名字,要用双引号引起

p.put("clientid1",b2);

//这样,就把2个string都放到map里面去了,下面来调用

}

send(Map p){

String a=p.get("mobilecode1");//get后面要加引号

String b=p.get("clientid1");

}

扩展:

public void tx_duanxinAdd(Map p) {

p.put("key",value)还可用于数据库查询,假如查询出来ibatis后放到某个

p.put("字段名",字段值)

p.remove("字段名"),即把这个字段值清空

p.get("字段名")0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值