SSH的update实现方法
来源:互联网 发布:seo每日工作 编辑:程序博客网 时间:2024/06/15 15:37
可以利用java的反射机制
UserDaoImpl.java(底层Dao实现)
/** * table 表 * fieldName 字段名 * fieldValue 字段值 * desc 顺序或倒序 * descId 用来标识用什么来顺序或倒序 */ public List selete(String fieldName,String fieldValue,String desc,String table,String descId) { String hql; if(fieldName == null&desc==null&descId ==null){ hql="from "+table; }else if(desc == null&fieldName!=null&descId ==null){ hql="from "+table+" where "+fieldName+" = '"+fieldValue+"'"; }else if(desc==null&fieldName==null&descId!=null){ hql="from "+table+" order by "+ descId; }else if(desc!=null&fieldName==null&descId!=null){ hql="from "+table+" order by "+ descId +" "+desc; }else{ hql="from "+table+" where "+fieldName+" = '"+fieldValue+"' order by "+ descId+" "+desc; } Query query=session.createQuery(hql); List list=query.list(); return list; }/** * 修改数据 * @param obj * @param table * @param id * @param array1 String字段名集合 * @param array2 String字段值集合 * @param array3 Integer字段名集合 * @param array4 Integer字段值集合 * @param array5 Date字段名集合 * @param array6 Date字段值集合 * @return */ public boolean edit(Object obj,String fieldName,String fieldValue,String table,String[] array1,String[] array2,String[] array3,Integer[] array4,String[] array5,Date[] array6){ String desc = null; String descId = null; List list = this.selete(fieldName,fieldValue,desc,table,descId); for(int i=0;i<list.size();i++){obj = (Object)list.get(i);Class model;try {//这里我利用上了反射机制model = Class.forName("org.cyxl.ssh.entity."+table);if(array6==null&array4==null){for(int j =0;j<array1.length;j++){Method setMethod = model.getMethod("set"+array1[j],String.class);setMethod.invoke(obj, array2[j]);session.save(obj); session.beginTransaction().commit(); }}else if(array6==null&array2==null){for(int j =0;j<array3.length;j++){Method setMethod = model.getMethod("set"+array3[j],Integer.class);setMethod.invoke(obj, array4[j]);session.save(obj); session.beginTransaction().commit(); }}else{for(int j =0;j<array5.length;j++){Method setMethod = model.getMethod("set"+array5[j],Date.class);setMethod.invoke(obj, array6[j]);session.save(obj); session.beginTransaction().commit(); }}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SecurityException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (NoSuchMethodException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();} } return true; }
- SSH的update实现方法
- update的三种实现方法
- dbutils的update方法与query方法的内部实现
- ssh实现ajax最简单的方法
- 关于SSH整合中Hibernate4中的delete( )和update( )方法没反应的解决
- griview绑定数据源后显示调用update方法的实现
- 利用反射实现Update方法
- DataAdapter的Update方法
- mongodb 的update方法
- update 的封装方法
- SSH下载方法实现
- 根据下拉菜单的选择,利用ssh的update方法修改数据库中数据行的某个字段内容
- 关于SqlDataAdapter的Update()方法
- 关于SqlDataAdapter的Update()方法
- [Update]判断简体中文的方法
- 字典的update()方法操作
- 实现ssh自动登录的4种方法
- ssh自动登录的4种实现方法
- 测试
- linux C经典面试题十四
- hdu2053
- POJ1679次小生成树n*n复杂度 克鲁斯卡尔+dfs+临界表
- Inner Class(内部类)面试题
- SSH的update实现方法
- 在满心迷茫的时候对VB.NET的总结
- 分别使用(字符流)和(字节流)对文件进行读写操作
- Jsoup获取href
- 20130408-[转]STVP绝对定位
- Collection(集合框架)面试题
- 一致性hash算法
- 黑马程序员_Java面向对象下
- opencv2.3.1+vs2010摄像头驱动