⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 task.java.svn-base

📁 数据库通用适配器:实现行粒度的数据库的转换
💻 SVN-BASE
字号:
package hdaty.prtds.rdgadaptor.gui;

import java.io.*;
import java.sql.*;

public class Task implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private String SURL;
	private String Suser;
	private String Spassword;
	private String SDB;
	private String SSchema;
	private String STab;
	private String []SAttrb;
	private String []S;
		
	private String DURL;	
	private String Duser;	
	private String Dpassword;
	private String DDB;	
	private String DSchema;
	private String DTab;
	private String []DAttrb;	
	private String []D;	
	
	private String DATE;
	private int period;
	
	public Task(String SURL,String Suser,String Spassword,String SDB,String SSchema,String STab,String []SAttrb,String []S,
			    String DURL,String Duser,String Dpassword,String DDB,String DSchema, String DTab,String []DAttrb,String []D,
			    String DATE,int period){
		this.SURL = SURL;
		this.Suser = Suser;
		this.Spassword = Spassword;
		this.SDB = SDB;
		this.SSchema = SSchema;
		this.STab = STab;
		this.SAttrb = SAttrb;
		this.S = S;
	
		this.DURL = DURL;		
		this.Duser = Duser;		
		this.Dpassword = Dpassword;		
		this.DDB = DDB;	
		this.DSchema = DSchema;
		this.DTab = DTab;		
		this.DAttrb = DAttrb;
		this.D = D;
		
		this.DATE = DATE;
		this.period = period;
	}
	
	public Task() {
		// TODO Auto-generated constructor stub
	}
//关于源库的属性的些set()和get()函数
	public String getSURL(){
		return SURL;
	}
	public void setSURL(String SURL){
		this.SURL = SURL;
	}
	public String getDURL(){
		return DURL;
	}
	public String getSuser(){
		return Suser;
	}
	public void setSuser(String Suser){
		this.Suser = Suser;
	}
	public String getSpassword(){
		return Spassword;
	}
	public void setSpassword(String Spassword){
		this.Spassword = Spassword;
	}
	public String getDpassword(){
		return Dpassword;
	}
	public String getSDB(){
		return SDB;
	}
	public void setSDB(String SDB){
		this.SDB = SDB;
	}
	public String getSSchema(){
		return SSchema;
	}
	public void setSSchema(String SSchema){
		this.SSchema = SSchema;
	}
	public String getSTab(){
		return STab;
	}
	public void setSTab(String STab){
		this.STab = STab;
	}
	public String[] getSAttrb(){
		return SAttrb;
	}
	public void setSAttrb(String []SAttrb){
		this.SAttrb = SAttrb;
	}
	public String[] getS(){
		return S;
	}
	public void setS(String []S){
		this.S = S;
	}
	
//关于目的库的属性的一些set()和get()函数	
	public void setDURL(String DURL){
		this.DURL = DURL;
	}	
	public String getDuser(){
		return Duser;
	}
	public void setDuser(String Duser){
		this.Duser = Duser;
	}	
	public void setDpassword(String Dpassword){
		this.Dpassword = Dpassword;
	}	
	public String getDDB(){
		return DDB;
	}
	public void setDDB(String DDB){
		this.DDB = DDB;
	}
	public String getDSchema(){
		return DSchema;
	}
	public void setDSchema(String DSchema){
		this.DSchema = DSchema;
	}
	public String getDTab(){
		return DTab;
	}
	public void setDTab(String DTab){
		this.DTab = DTab;
	}
	public String[] getDAttrb(){
		return DAttrb;
	}
	public void setDAttrb(String []DAttrb){
		this.DAttrb = DAttrb;
	}
	public String[] getD(){
		return D;
	}
	public void setD(String []D){
		this.D = D;
	}
	
//关于任务执行时间和周期的set()和get()函数	
	public String getDATE(){
		return DATE;
	}
	public void setDATE(String DATE){
		this.DATE = DATE;
	}
	public void setperiod(int period){
		this.period = period;
	}
	public int period(){
		return period;
	}
	
	public String toString(){
		return "SURL="+SURL+"\n"+"Suser="+Suser+"   Spassword="+Spassword+
		       "\nSDB="+SDB+"   SSchema="+SSchema+"   STab="+STab+
		       "\nDURL="+DURL+"\n"+"Duser="+Duser+"   Dpassword="+Dpassword+
		       "\nDDB="+SDB+"   DSchema="+DSchema+"   DTab="+DTab;
	}
	
	public static void main(String []args) 
	throws IOException,FileNotFoundException, ClassNotFoundException, SQLException{
		String []SA = {"ID","NAME","SEX","AGE","BIRTHDAY"};
		String []S = {"int","String","int","int","date"};
		String []DA = {"ID","NAME","SEX","AGE","BIRTHDAY"};
		String []D = {"int","String","int","int","date"};
		Task tk = new Task("jdbc:oracle:thin:@202.204.64.75:1521:orcl","SYSTEM","orcl","orcl","SCOTT","PERSON",SA,S,
				"jdbc:oracle:thin:@202.204.64.75:1521:orcl","SYSTEM","orcl","orcl","SCOTT","NEWPERSON",DA,D,
				 "2008-11-14 21:00:00",6);
		
		FileOutputStream fos = new FileOutputStream("D:\\workspace\\task.dat");
		ObjectOutputStream oos = new ObjectOutputStream(fos);
		
		oos.writeObject(tk);
		oos.flush();
		oos.close();	
		
		FileInputStream fis = new FileInputStream("D:\\workspace\\task.dat");
		ObjectInputStream ois = new ObjectInputStream(fis);
	    Task newtk = (Task)ois.readObject();
	    System.out.println(newtk);
		
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection(newtk.SURL,newtk.Suser,newtk.Spassword);
        
        String field = "";
        for(int i = 0; i < newtk.SAttrb.length; i++){
        	field =field +  "," + newtk.SAttrb[i];
        }
        field = field.substring(1);
        String query = " select " + field + " from " + newtk.SSchema + "." + newtk.STab;
        System.out.println(query);
        PreparedStatement pstm = 
			conn.prepareStatement(query);
        ResultSet rs = pstm.executeQuery();
        StringBuffer sb = new StringBuffer();
        
//        String newfield = "";
//        for(int i = 0; i < newtk.DAttrb.length; i++){
//        	newfield = newfield + "," + newtk.DAttrb[i];
//        }
//        newfield = newfield.substring(1);
//        String insert = "insert into " + newtk.DTab + "(" + newfield + ") values (?,?,?,?,?)" ;
//        PreparedStatement inpstm = null;
//	    System.out.println(insert);
       // int num = 0;
        
        while(rs.next()){
        	
//        	inpstm = conn.prepareStatement(insert);
//        	inpstm.setInt(1, rs.getInt("ID"));
//        	inpstm.setString(2, rs.getString("name"));
//        	inpstm.setInt(3, rs.getInt("sex"));
//        	inpstm.setInt(4, rs.getInt("age"));
//        	inpstm.setDate(5, rs.getDate("birthday"));
//        	
//        	num += inpstm.executeUpdate();
        	
        	
        	for(int i = 0; i < newtk.SAttrb.length; i++){
        		if(newtk.S[i].equalsIgnoreCase("int"))
        			sb.append(rs.getInt(newtk.SAttrb[i]));
        		if(newtk.S[i].equalsIgnoreCase("String"))
        			sb.append(rs.getString(newtk.SAttrb[i]));
        		if(newtk.S[i].equalsIgnoreCase("Date"))
        			sb.append(rs.getString(newtk.SAttrb[i]));
        		if(newtk.S[i].equalsIgnoreCase("float"))
        			sb.append(rs.getFloat(newtk.SAttrb[i]));
        		if(newtk.S[i].equalsIgnoreCase("double"))
        			sb.append(rs.getDouble(newtk.SAttrb[i]));
        	}
        	
        	
//        	sb.append(rs.getInt("ID"));
//        	sb.append(rs.getString("name"));
//        	sb.append(rs.getBoolean("sex"));
//        	sb.append(rs.getInt("age"));
//        	sb.append(rs.getDate("birthday") + "\n");
        }
//        System.out.println("插入了  " + num + " 项数据!");
          System.out.println(sb);
//        inpstm.close();
        
        pstm.close();
        rs.close();
        conn.close();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -