当前位置 : 主页 > 编程语言 > c++ >

数据库工具类的进一步封装

来源:互联网 收集:自由互联 发布时间:2021-07-03
增删改查的工具类及sql语句参数插入和结果集获取的封装(待增加) /** * 为sql语句传入参数值 * @param ps 处理命令 * @param i 传入参数序号 * @param obj 传入 * */public static void insertArgs(Prepar
增删改查的工具类及sql语句参数插入和结果集获取的封装(待增加)
/**
	 * 为sql语句传入参数值
	 * @param ps 处理命令
	 * @param i  传入参数序号
	 * @param obj  传入
	 * */
	public static void insertArgs(PreparedStatement ps,int i,Object obj){
		if(obj instanceof Integer){
			try {
				ps.setInt(i,(Integer)obj);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}else if(obj instanceof String){
			try {
				ps.setString(i, (String)obj);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}else if(obj instanceof Double){
			try {
				ps.setDouble(i, (Double)obj);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	/**
	 * 返回结果集对应列的值
	 * @param type 通过反射获取的实体类属性类型
	 * @param rs 结果集
	 * @param str 实体类中和表字段对应的属性
	 * @return 返回结果集字段对应的值,发生异常返回null
	 * */
	public static Object getResultSet(String type,ResultSet rs,String str){
		
      if(type.equalsIgnoreCase("int")||type.equalsIgnoreCase("Integer")){
    	  try {
			return rs.getInt(str);
		} catch (SQLException e) {
			e.printStackTrace();
		}
      }else if(type.equalsIgnoreCase("String")){
    	  try {
			return rs.getString(str);
		} catch (SQLException e) {
			e.printStackTrace();
		}
      }

		return null;
		
	}
	/**
	 * 单表查询
	 * @param  c 表对应对象class
	 * @param  slist 条件参数表达式集合(例:sno>? ; sno=? ; sno in(?,?))
	 * @param  s_list 条件值集合
	 * */
	@SuppressWarnings("all")
	public static 
 
   List singleSelectData(Class
  
    c,List
   
     slist,List s_list){ T t=null; List tlist=new ArrayList(); try { List
    
      list=new ArrayList
     
      (); for(Field fi:c.getDeclaredFields()){ list.add(fi.getName()); } PreparedStatement ps=getConn().prepareStatement(createSelectSql(c, list,slist)); for(int i=0;i
      
       ? ; sno=? ; sno in(?,?)) * @param s_list 按照条件参数表达式依次添加的值 * @param map 修改的参数和值对(key,String类型,表字段名;value,注意添加时类型与数据库一致,插入的值) * @return 插入成功返回1,失败返回0 * */ @SuppressWarnings("rawtypes") public static 
       
         int alterData(Class
        
          t,List
         
           list,List
          
            slist,List s_list,Map
           
             map){ List
            
              alist=new ArrayList
             
              (); if(list.size()==1&&"*".equals(list.get(0))){ for(Field fi:t.getDeclaredFields()){ alist.add(fi.getName()); } }else alist=list; // System.out.println(createUpdataSql(t,alist, slist)); try { PreparedStatement ps=getConn().prepareStatement(createUpdataSql(t,alist, slist)); for(int i=0;i
              
                map1:map.entrySet()){ if(alist.get(i).equals(map1.getKey())){ if(map1.getValue() instanceof String) ps.setString(i+1, map1.getValue().toString()); else ps.setInt(i+1,(Integer)map1.getValue()); } } } for(int k=0;k
               
                ? ; sno=? ; sno in(?,?)) * @return 插入成功返回1,失败返回0 * */ @SuppressWarnings("rawtypes") public static 
                
                  int deleteData(Class
                 
                   t,List slist,List
                  
                    list){ //System.out.println(createDeleteSql(t, list)); try { PreparedStatement ps=getConn().prepareStatement(createDeleteSql(t, list)); for(int i=0;i
                   
                     int insertData(Class
                    
                      t,Map
                     
                       map){ List
                      
                        list=new ArrayList
                       
                        (); for(Field me:t.getDeclaredFields()){ list.add(me.getName()); } try { // System.out.println(createInsertSql(t, list)); PreparedStatement ps=getConn().prepareStatement(createInsertSql(t, list)); for(int i=0;i
                        
                          m1:map.entrySet()){ if(list.get(i).equals(m1.getKey())){ if(m1.getValue() instanceof String){ // System.out.println("String"+m1.getValue().toString()); ps.setString(i+1,m1.getValue().toString()); break frist; }else if(m1.getValue() instanceof Integer){ // System.out.println("int"+Integer.parseInt(m1.getValue().toString())); ps.setInt(i+1, Integer.parseInt(m1.getValue().toString())); break frist; } } } } return ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } return 0; }
                        
                       
                      
                     
                    
                   
                  
                 
                
               
              
             
            
           
          
         
        
       
      
     
    
   
  
 
网友评论