javaEE jdbc获取数据1(封装到对象中)

1、jdbc获取数据1(封装到对象中)

package aTest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;

import com.ImpStr;
/**
 * 通用sql使用
 */
public class ImpSql4 {
    private static String clssName = "oracle.jdbc.driver.OracleDriver";
    private static String url = "jdbc:oracle:thin:@*******:1521:orcl";
    private static String user = "*****";
    private static String password = "12345678";
    
    
    /**
     * 获取查询数据, 返回ArrayList<HashMap<String colName, String Str>> ,数据类型是object
     * @param sql 传入sql语句
     * @return
     * @throws Exception
     */
    public static synchronized ArrayList<DataStr> getStrMapList(final String sql){
        ArrayList<DataStr> reslutList = new ArrayList<DataStr>();
        Connection Conn = null;
        Statement Stmt = null;
//        System.out.println("\n/*****开始执行时间------------>" + CTools.getCurrentTimeString() + "************/");
        try {
          Class.forName(clssName);//加入oracle的驱动,“”里面是驱动的路径
          Conn = DriverManager.getConnection(url,user,password);
//           Conn = CDBManager.getConn();
            Stmt = Conn.createStatement();
            ResultSet rs = Stmt.executeQuery(sql);
            ResultSetMetaData RsMeta = rs.getMetaData();              
            int numberOfColumns = RsMeta.getColumnCount();//字段个数
            reslutList = getDataStr(rs, numberOfColumns);
        } catch (Exception e) {
            System.out.println("ImpSql.doSqlReturnMap(sql):sql------->" + sql);
            e.printStackTrace();
        } finally {
            if (Stmt != null) { try {Stmt.close();} catch (Exception e) {};}
            if (Conn != null) { try {Conn.close();} catch (Exception e) {};}
            
//            System.out.println("/*****结束时间------------>"    + CTools.getCurrentTimeString() + "************/");
        }
        return reslutList;
    }
    
    private static ArrayList<DataStr> getDataStr(ResultSet rs, int numberOfColumns) {
    	ArrayList<DataStr> reslutList = new ArrayList<DataStr>();
    	try{
    		int rownum = 1;
//    		HashMap<String, String> mapObj = new HashMap<String, String>();
//            for (int i = 1; i <= numberOfColumns; i++) {
              String columnType = RsMeta.getColumnTypeName(i);//get coltype ; like "DATE"
//                String colName = RsMeta.getColumnName(i);
//                Object colVObject = rs.getObject(i);
//                String colValue = ImpStr.getStrFromObject(colVObject);
//                mapObj.put(colName, colValue);
//            }
//            reslutList.add(mapObj);
            
    		while (rs.next()) {
            	DataStr datas = new DataStr();
            	ArrayList strsList = new ArrayList();
            	for (int i = 1; i <= numberOfColumns; i++) {
                    Object colVObject = rs.getObject(i);
                    String colValue = ImpStr.getStrFromObject(colVObject);
                    strsList.add(colValue);
                }
                datas.setRownum(rownum);
                datas.setStrsList(strsList);
                reslutList.add(datas);
                rownum++;
            }
    	} catch (Exception e) {
    		e.printStackTrace();
    	}    	
		return reslutList;
	}
    
    

	public static void main(String[] args)
    {
		String sql = "select * from t_sys_user where rownum<20";    	
    	ArrayList<DataStr> reslutLis = getStrMapList(sql);
    	for (int i = 0; i < reslutLis.size(); i++){
    		DataStr data = reslutLis.get(i);
        	ArrayList strs = data.getStrsList();
        	System.out.println("data.getRownum()=="+data.getRownum() + "  strs[i]=="+strs.get(0).toString());
    	}
    	
    	
    }
}



package aTest;

import java.util.ArrayList;

/**
 * 获取数据中存储的对象
 * 初始设置为35个参数,也就是最多就是35个列的值
 */
public class DataStr {

	private  ArrayList strsList;
	
	private  int rownum;
	private  String str1;
	private  String str2;
	private  String str3;
	private  String str4;
	private  String str5;
	private  String str6;
	private  String str7;
	private  String str8;
	private  String str9;
	private  String str10;
	private  String str11;
	private  String str12;
	private  String str13;
	private  String str14;
	private  String str15;
	private  String str16;
	private  String str17;
	private  String str18;
	private  String str19;
	private  String str20;
	private  String str21;
	private  String str22;
	private  String str23;
	private  String str24;
	private  String str25;
	private  String str26;
	private  String str27;
	private  String str28;
	private  String str29;
	private  String str30;

	
	
	private  void init() {
		// TODO Auto-generated method stub
		try{
			this.str1 = this.strsList.get(0).toString();
			this.str2 = this.strsList.get(1).toString();
			this.str3 = this.strsList.get(2).toString();
			this.str4 = this.strsList.get(3).toString();
			this.str5 = this.strsList.get(4).toString();
			this.str6 = this.strsList.get(5).toString();
			this.str7 = this.strsList.get(6).toString();
			this.str8 = this.strsList.get(7).toString();
			this.str9 = this.strsList.get(8).toString();
			this.str10 = this.strsList.get(9).toString();
			this.str11 = this.strsList.get(10).toString();
			this.str12 = this.strsList.get(11).toString();
			this.str13 = this.strsList.get(12).toString();
			this.str14 = this.strsList.get(13).toString();
			this.str15 = this.strsList.get(14).toString();
			this.str16 = this.strsList.get(15).toString();
			this.str17 = this.strsList.get(16).toString();
			this.str18 = this.strsList.get(17).toString();
			this.str19 = this.strsList.get(18).toString();
			this.str20 = this.strsList.get(19).toString();
			this.str21 = this.strsList.get(20).toString();
			this.str22 = this.strsList.get(21).toString();
			this.str23 = this.strsList.get(22).toString();
			this.str24 = this.strsList.get(23).toString();
			this.str25 = this.strsList.get(24).toString();
			this.str26 = this.strsList.get(25).toString();
			this.str27 = this.strsList.get(26).toString();
			this.str28 = this.strsList.get(27).toString();
			this.str29 = this.strsList.get(28).toString();
			this.str30 = this.strsList.get(29).toString();
		} catch (Exception e) {
//    		e.printStackTrace();
		}
		
	}
	
	
	public  ArrayList getStrsList() {
		return strsList;
	}


	public  void setStrsList(ArrayList strsList) {
		this.strsList = strsList;
		init();
	}


	public  int getRownum() {
		return rownum;
	}


	public  String getStr1() {
		return str1;
	}


	public  String getStr2() {
		return str2;
	}


	public  String getStr3() {
		return str3;
	}


	public  String getStr4() {
		return str4;
	}


	public  String getStr5() {
		return str5;
	}


	public  String getStr6() {
		return str6;
	}


	public  String getStr7() {
		return str7;
	}


	public  String getStr8() {
		return str8;
	}


	public  String getStr9() {
		return str9;
	}


	public  String getStr10() {
		return str10;
	}


	public  String getStr11() {
		return str11;
	}


	public  String getStr12() {
		return str12;
	}


	public  String getStr13() {
		return str13;
	}


	public  String getStr14() {
		return str14;
	}


	public  String getStr15() {
		return str15;
	}


	public  String getStr16() {
		return str16;
	}


	public  String getStr17() {
		return str17;
	}


	public  String getStr18() {
		return str18;
	}


	public  String getStr19() {
		return str19;
	}


	public  String getStr20() {
		return str20;
	}


	public  String getStr21() {
		return str21;
	}


	public  String getStr22() {
		return str22;
	}


	public  String getStr23() {
		return str23;
	}


	public  String getStr24() {
		return str24;
	}


	public  String getStr25() {
		return str25;
	}


	public  String getStr26() {
		return str26;
	}


	public  String getStr27() {
		return str27;
	}


	public  String getStr28() {
		return str28;
	}


	public  String getStr29() {
		return str29;
	}


	public  String getStr30() {
		return str30;
	}


	public  void setRownum(int rownum) {
		this.rownum = rownum;
	}


	
}


2、封装成hashmap

package aTest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;

import com.ImpStr;
/**
 * 通用sql使用
 */
public class ImpSql2 {
    private static String clssName = "oracle.jdbc.driver.OracleDriver";
    private static String url = "jdbc:oracle:thin:@**********:1521:orcl";
    private static String user = "*****";
    private static String password = "12345678";
    
    
    /**
     * 获取查询数据, 返回ArrayList<HashMap<String colName, String Str>> ,数据类型是object
     * @param sql 传入sql语句
     * @return
     * @throws Exception
     */
    public static synchronized ArrayList<HashMap<String, String>> getStrMapList(final String sql){
        ArrayList<HashMap<String, String>> reslutList = new ArrayList<HashMap<String,String>>();
        
        Connection Conn = null;
        Statement Stmt = null;
//        System.out.println("\n/*****开始执行时间------------>" + CTools.getCurrentTimeString() + "************/");
        try {
          Class.forName(clssName);//加入oracle的驱动,“”里面是驱动的路径
          Conn = DriverManager.getConnection(url,user,password);
//            Conn = CDBManager.getConn();
            Stmt = Conn.createStatement();
            ResultSet rs = Stmt.executeQuery(sql);
            ResultSetMetaData RsMeta = rs.getMetaData();              
            int numberOfColumns = RsMeta.getColumnCount();//字段个数
            while (rs.next()) {
                HashMap<String, String> mapObj = new HashMap<String, String>();
                for (int i = 1; i <= numberOfColumns; i++) {
//                  String columnType = RsMeta.getColumnTypeName(i);//get coltype ; like "DATE"
                    String colName = RsMeta.getColumnName(i);
                    Object colVObject = rs.getObject(i);
                    String colValue = ImpStr.getStrFromObject(colVObject);
                    mapObj.put(colName, colValue);
                }
                reslutList.add(mapObj);
            }
        } catch (Exception e) {
            System.out.println("ImpSql.doSqlReturnMap(sql):sql------->" + sql);
//            throw new CDealException("执行数据失败。", e);
            e.printStackTrace();
        } finally {
            if (Stmt != null) { try {Stmt.close();} catch (Exception e) {};}
            if (Conn != null) { try {Conn.close();} catch (Exception e) {};}
            
//            System.out.println("/*****结束时间------------>"    + CTools.getCurrentTimeString() + "************/");
        }
        return reslutList;
    }
    
    public static void main(String[] args)
    {
    	String sql = "select sysdate from dual";
    	ArrayList<HashMap<String, String>> reslutLis = getStrMapList(sql);
    	System.out.print(reslutLis.size());
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值