MVC基础增删查改通用层代码

增删查改通用代码

public static  int add(Object obj) {
		int row=0;
		Connection con = BaseDao.quedaoall();
		Class c = obj.getClass();
		Field[] fields = c.getDeclaredFields();
		Field.setAccessible(fields, true);
		StringBuffer sb=new StringBuffer();
		sb.append("insert into "+c.getSimpleName()+" (");
		for (int i = 1; i < fields.length; i++) {
			sb.append(fields[i].getName());
			if (i<fields.length-1) {
				sb.append(" ,");
			}
		}
		sb.append(") values (");
		for (int i = 1; i < fields.length; i++) {
			sb.append("?");
			if (i<fields.length-1) {
				sb.append(" ,");
			}
		}
		sb.append(")");
		
		PreparedStatement pstm=null;
		System.out.println(sb.toString());
		try {
			 pstm = con.prepareStatement(sb.toString());
			 for (int i = 1; i < fields.length; i++) {
				 
				 pstm.setObject(i, fields[i].get(obj));
			 }
			  row = pstm.executeUpdate();
			 
			 
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			BaseDao.closeall(null, pstm, con);
		}
		
		return row;
	}
public static int delete(Object obj) {
		int row=0;
		Connection con = BaseDao.quedaoall();
		Class c = obj.getClass();
		Field[] fields = c.getDeclaredFields();
		Field.setAccessible(fields, true);
		StringBuffer sb=new StringBuffer();
		sb.append("delete from "+c.getSimpleName());
		
		sb.append(" where "+fields[0].getName()+"= ?");
		//System.out.println(sb.toString());
		PreparedStatement pstm=null;
		try {
			 pstm = con.prepareStatement(sb.toString());
			
			 pstm.setObject(1, fields[0].get(obj));
			 row = pstm.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			BaseDao.closeall(null, pstm, con);
		}
		return row;
	}

 public static List<Object> select(Object obj) {
    		List<Object> list=new ArrayList<Object>();
    		Connection con = BaseDao.quedaoall();
    		Class c = obj.getClass();
    		Field[] fields = c.getDeclaredFields();
    		Field.setAccessible(fields, true);
    		StringBuffer sb=new StringBuffer();
    		sb.append("select * from "+c.getSimpleName());
    		//System.out.println(sb.toString());
    		PreparedStatement pstm=null;
    		 ResultSet rs=null;
    		try {
    			 pstm = con.prepareStatement(sb.toString());
    			 rs= pstm.executeQuery();
    			 while(rs.next()) {
    				 Object object= c.newInstance();
    				 for (int i = 0; i < fields.length; i++) {
    					Object object2 = rs.getObject(fields[i].getName());
    	
    					//如果是长整形就转型
    					if ("Long".equals(object2.getClass().getSimpleName())) {
    						String a=((Long)object2).toString();
    						int b=new Integer(a);
    						fields[i].set(object, b);
    						continue;
    					}
    					fields[i].set(object, rs.getObject(fields[i].getName()));
    				
    				}
    				 list.add(object);
    			 }
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally {
    			BaseDao.closeall(rs, pstm, con);
    		}
    		return list;
    	}

public static int update(Object obj) {
		int row=0;
		Connection con = BaseDao.quedaoall();
		Class c = obj.getClass();
		Field[] fields = c.getDeclaredFields();
		Field.setAccessible(fields, true);
		StringBuffer sb=new StringBuffer();
		sb.append("update "+c.getSimpleName()+" set ");
		for (int i = 1; i < fields.length; i++) {
			sb.append(fields[i].getName()+" = ?");
			if (i<fields.length-1) {
				sb.append(" ,");
			}
		}
		sb.append(" where "+fields[0].getName()+"= ?");
		System.out.println(sb.toString());
		PreparedStatement pstm=null;
		try {
			 pstm = con.prepareStatement(sb.toString());
			 for (int i = 1; i < fields.length; i++) {
				 pstm.setObject(i, fields[i].get(obj));
			 }
			 pstm.setObject(fields.length, fields[0].get(obj));
			 row = pstm.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			BaseDao.closeall(null, pstm, con);
		}
		return row;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值