首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

新增/批改时,唯一性字段检查

2012-11-08 
新增/修改时,唯一性字段检查一个对象,比如订单Order有一个无意义的orderId作为唯一标识属性,还有一个有意

新增/修改时,唯一性字段检查
一个对象,比如订单Order
有一个无意义的orderId作为唯一标识属性,还有一个有意义的订单号orderNo
orderNo也必须是唯一的,在添加修改数据的时候,就存在校验唯一性的问题

先假设有表order,保含2个字段,orderid,orderNo

1.新增
  我们写一个通用的校验类,有一个check方法,参数为表名,校验的列名,列的值


  CheckUnique.java


  现在我们就可以通过CheckUnique.check("order","orderNo","20050501111")来校验orderNo

2.修改
修改的校验要比新增麻烦,因为修改的时候,检测orderNo当然是存在了。
在CheckUnique类添加新方法checkUpdate(String tableName,   //表名
                                                                    String idColName,  //主键列名
                                                                    String idColValue, //主键列值
                                                                    String uniColName, //校验列名
                                                                    String uniColVaue) //校验列值
方法内容基本和check()方法一样,只是sql语句strSql不同,strSql如下
 select count(1) as count  from tableName t1 where t1.uniColName=uniColVaue and t1.idColName not in (   select t2.idColName from tableName t2   where t2.idColName=idColValue and t2.uniColName=uniColVaue )  order的例子  select count(1) as count  from order t1 where t1.orderNo='200505001111' and t1.orderId not in (   select t2.orderId from order t2   where t2.orderId=9527 and t2.orderNo='200505001111' )

热点排行