问题描述
以下是我的程序代码 为什么我走的if (tbYibanwupin != null)还会执行else中的logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 n");并且else中的String message = "添加的一般物品不能为空";messForm = successTabMessage.setMessageForm(0, message);这两句话没有走 /** * 根据从dataBus取得的非空一般物品对象,调用dao的doInsert方法来完成数据的插入工作<br> * 1.取出刑事案件的id及表名并将其存放于一般物品信息中的信息来源表名及信息来源id中<br> * 2.插入一般物品表,然后将其表名及ID存放于物品汇总表及刑事案件中然后插入汇总表及更新案件 * @param dataBus中的一般物品对象不能为空 * @return 操作的结果消息及操作的对象 */ public DataBus doInsert(DataBus dataBus) { if (dataBus == null) return null; //声明对象 XingShiAnJian xingShiAnJian = null; XingShiAnJian[] xingShiAnJians = null; WuPin wuPin = null; WuPin[] wuPins = null; TbYibanwupin tbYibanwupin = null; //一般物品 TbWphzb wphzb = null; //物品汇总 TbAjjbxx tbAjjbxx = null; //案件// XianYiRen[] xianYiRens=null;// XianYiRen xianYiRen=null;// TbXyr tbXyr=null; try { //取出dataBus中的对象 int len = 0; if(dataBus.getPojos()!=null) { len = dataBus.getPojos().length; xingShiAnJians = new XingShiAnJian[len]; xingShiAnJians = (XingShiAnJian[]) dataBus.getPojos(); xingShiAnJian = xingShiAnJians[0]; } dao = new DAOBaseObject(); session = SessionControl.doGetSession(); //获得Session对象 dao.doSetSession(session); //赋予DAO对象Session tm = new TransActionManager(session); //创建事务管理对象 tm.beginTransaction(); if (xingShiAnJian != null) { //从大对象中取出其属性 int length = 0; tbAjjbxx = xingShiAnJian.getTbAjjbxx(); if(xingShiAnJian.getWupins()!=null) { wuPins = new WuPin[xingShiAnJian.getWupins().length]; wuPins = xingShiAnJian.getWupins(); wuPin = wuPins[0]; } if(wuPin!=null) { tbYibanwupin = wuPin.getYibanwupin(); wphzb = wuPin.getWphzb(); } } Long tbAjjbxxId = null; if(tbAjjbxx!=null) { tbAjjbxxId = tbAjjbxx.getAjjbxxid(); } //如果接刑事案件基本信息不为空则插入案件,否则不允许办理 if (tbAjjbxxId != null) { tbAjjbxx = (TbAjjbxx) dao.doGetPojo(tbAjjbxxId, tbAjjbxx.getClass()); if (tbAjjbxx != null) { String bid = tbAjjbxx.getBid(); if (bid == null || bid.equals("")) { String message = "案件编号为空,不能进行新增一般物品操作"; messForm = successTabMessage.setMessageForm(0, message); returnDataBus.setMessageForm(messForm); returnDataBus.setPojos(null); return returnDataBus; } Long tbYibanwupinId = null; if (tbYibanwupin != null) { //插入一般物品 tbYibanwupin.setXxlyajbm("AJJBXX"); //信息来源案件表名 tbYibanwupin.setXxlyajid(tbAjjbxxId.toString()); //信息来源案件ID tbYibanwupin.setShanchubiaoji("0"); //将一般物品中的删除标记置为0表明为可删除 tbYibanwupin.setJilushijian(Calendar.getInstance().getTime()); //设置记录时间 tbYibanwupin.setDuxiekongzhi("w"); //将读写控制设为可写入 dataMap = dao.doInsert(tbYibanwupin); tbYibanwupinId = tbYibanwupin.getYibanwupinid(); //取出一般物品ID if(wphzb==null) wphzb=new TbWphzb(); wphzb.setShanchubiaoji("0"); wphzb.setDuxiekongzhi("w"); wphzb.setJingshishijian(Calendar.getInstance().getTime()); //物品表名及ID wphzb.setWupinbiaoming("YIBANWUPIN"); wphzb.setWpbmslbh(tbYibanwupinId.toString()); //案件表明及ID wphzb.setXxlyajbm("AJJBXX"); //信息来源案件表名 wphzb.setXxlyajid(tbAjjbxxId.toString()); //信息来源案件ID //信息来源业务表名 wphzb.setXxlyywbm("AJJBXX"); wphzb.setXxlyywid(tbAjjbxxId.toString()); //物品名称 wphzb.setWupinmingcheng(tbYibanwupin.getMingcheng()); //物品类型 wphzb.setWupinleixing("一般物品"); //物品数量 wphzb.setWupinshuliang(tbYibanwupin.getShuliang()); //物品价值 wphzb.setWupinjiazhi(tbYibanwupin.getJiazhi()); dataMap = dao.doInsert(wphzb); Long wphzbId = wphzb.getWphzbid(); //更新一般物品 tbYibanwupin.setXxlyywbm("WPHZB"); tbYibanwupin.setXxlyywid(wphzbId.toString()); dataMap = dao.doUpdate(tbYibanwupin); tm.commit();/* //案件与物品相关联 if(tbAjjbxx.getAjqtxxslbh()!=null&&!tbAjjbxx.getAjqtxxslbh().equals("")) { String ajqtxxslbh = tbAjjbxx.getAjqtxxslbh(); ajqtxxslbh = ajqtxxslbh + "#" + wphzbId.toString(); tbAjjbxx.setSaryxxslbh(ajqtxxslbh); } else { tbAjjbxx.setAjqtxxbm("WPHZB"); tbAjjbxx.setAjqtxxslbh(wphzbId.toString()); } dataMap = dao.doUpdate(tbAjjbxx);*/ //封装为一个大对象 xingShiAnJian = new XingShiAnJian(); xingShiAnJians=new XingShiAnJian[1]; xingShiAnJian.setJiebaojing(null); xingShiAnJian.setTbAjjbxx(tbAjjbxx); wuPin=new WuPin(); wuPin.setYibanwupin(tbYibanwupin); wuPin.setWphzb(wphzb); //封装一般物品 wuPins=new WuPin[1]; wuPins[0]=wuPin; xingShiAnJian.setWupins(wuPins); xingShiAnJian.setXianyirens(null); xingShiAnJians[0] = xingShiAnJian; returnDataBus.setPojos(xingShiAnJians); messForm = successTabMessage.setMessageForm(dataMap); } else { String message = "添加的一般物品不能为空"; messForm = successTabMessage.setMessageForm(0, message); logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 n"); } } else { String message = "案件不存在,不能进行新增一般物品操作"; messForm = successTabMessage.setMessageForm(0, message); logger.debug("error in " + className + "doInsert()刑事案件不能为空 ;n"); } } } catch(Exception ex) { tm.rollback(); String message = "操作失败"; int code = 0; messForm = successTabMessage.setMessageForm(code, message); } finally { SessionControl.doCloseSession(); returnDataBus.setMessageForm(messForm); return returnDataBus; }}为什么我走的if (tbYibanwupin != null)还会执行else中的logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 n");并且else中的String message = "添加的一般物品不能为空";messForm = successTabMessage.setMessageForm(0, message);这两句话没有走是不是我的代码写的不规范,另请高手帮我规范一下代码的写法 谢谢了 问题补充:anyasir 写道
解决方案
if(){}else{}只要没有出现既进了if 又进了else 就说明是你的条件问题了如果都进了,那就 大条了至于规范,完全可以看jdk源码的风格
解决方案二:
设置下断点,debug看下就知道了