NC65前后台操作数据库方法

需求:从前台或者后台对数据库进行增删改查操作
解决方案:

前台查询数据

client代码包下面
HYPubBO_Client工具类,该工具类中有很多方法,只能在前台进行调用,详细请打开代码自行研究

CustomerVO customerVO = (CustomerVO) HYPubBO_Client
						.queryByPrimaryKey(CustomerVO.class,
								headVOr.getCustomer());

IUAPQueryBS工具类,也是在前台进行操作

IUAPQueryBS bsDao = (IUAPQueryBS) NCLocator.getInstance().lookup(
				IUAPQueryBS.class.getName())
				
String isok="SELECT tj.pk_ct_pu  FROM ct_ct_tj_b tjb LEFT JOIN ct_ct_tj tj ON tjb.pk_ct_pu=tj.pk_ct_pu WHERE fstatusflag <> '1' AND tj.dr=0  AND tjb.dr=0 AND csrcid='"+headerValueVO.getPk_ct_pu()+"' ";
		
ArrayList<String> status=(ArrayList<String>) bsDao.executeQuery(isok, new ColumnListProcessor());
			

其中常见的结果集
MapProcessor 单行多列封装到Map中:HashMap处理器,返回一个HashMap, 结果集中只有一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。

MapListProcessor 多行多列封装到Map中:HashMap集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个HashMap,每个HashMap对应结果集中的一行数据, 其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。

BeanProcessor单行多列封装到JavaBean中:值对象处理器,返回一个JavaBean,结果集中只有一行数据,该处理器能自动把结果集中的值按列的名称映射到javaBean中,如结果集中有名称为”name”的字段,那么只要该java对象中有getName()方法就能把结果集合中”name”对应的值映射到对象中。

BeanListProcessor多行多列封装到JavaBean中:值对象集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据。

ColumnProcessor单行单列:列值处理器,返回一个Java对象,结果集中只有一行数据,该对象对应与结果集中某一列的值,该处理器通过结果集列的序号或名称来确定列。

ColumnListProcessor多行单列:列值处理器,返回一个阿ArrayList对象,结果集中有多行数据,该对象对应与结果集中某一列的值,该处理器通过结果集列的序号或名称来确定列。

后台进行操作数据库

private public 代码包下面
BaseDAO工具类

BaseDAO  baseDAO = new BaseDAO();
String up="MERGE INTO ct_ht ht USING (select sum(nnum) ljsl,sum(norigtaxmny) ljtaxmny_yb,sum(ntaxmny) ljtaxmny,a.pk_ct_pu ,max(a.dr) dr from ct_ht_b a where a.dr = 0 GROUP BY a.pk_ct_pu ) tj ON (ht.pk_ct_pu = tj.pk_ct_pu AND tj.pk_ct_pu ='"+clientFullVOs[i].getParentVO().getPk_ct_pu()+"' AND tj.dr=0) WHEN MATCHED THEN UPDATE SET ht.ntotalorigmny=tj.ljtaxmny_yb,ht.ntotaltaxmny=tj.ljtaxmny,ht.ntotalastnum=tj.ljsl ";
baseDAO.executeUpdate(up);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值