阅读更多
从一个数据库导入到另一个数据库中
package cn.dao;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
/**
* yicha
* Dec 11, 2008
*/
public class DataSql {
private Logger logger=Logger.getLogger(DataSql.class);
private Connection mysqlConn=null;
private Connection conn = null;
private Statement stat = null;
private Statement mysqlStat=null;
/**
* jdbc链接
* @return
*/
public Connection getConn(){
String url="jdbc:microsoft:sqlserver://192.168.0.214:1433;DatabaseName=unionfee";
String user="unionfee";
String password="unionfee";
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(url, user, password);
}catch(Exception e){
logger.error("Connecter=>getConnection error: "+e);
}
return conn;
}
/**
* mysql 的jdbc链接
* @return
*/
public Connection getMysqlConn(){
String url="jdbc:mysql://192.168.0.225/unionfee?useUnicode=true&characterEncoding=utf8";
String user="root";
String password="root";
try{
Class.forName("com.mysql.jdbc.Driver");
mysqlConn=DriverManager.getConnection(url, user, password);
}catch(Exception e){
logger.error("Connecter=>getConnection error: "+e);
}
return mysqlConn;
}
public Statement getStatement(){
try{
conn = this.getConn();
if(conn!=null)stat = conn.createStatement();
}catch(Exception e){
logger.error("Connecter=>getConnection error: "+e);
}
return stat;
}
public void close(){
try{
if(stat!=null)stat.close();
stat= null;
}catch(Exception e){
logger.error("Connecter=>close statement error: "+e);
}
try{
if(conn!=null)conn.close();
conn = null;
}catch(Exception e){
logger.error("Connecter=>close connection error: "+e);
}
}
public ArrayList getTableData(String tableName) {
// String tableName="t_ad_union_user";
String sql="select * from "+tableName;
HashMap hashMap=null;
ArrayList result=new ArrayList();
ResultSet rs;
try {
rs = this.getStatement().executeQuery(sql);
//使用元数据获取一个表字段的总数
ResultSetMetaData rsmd=rs.getMetaData();
int coulum=rsmd.getColumnCount();
while(rs.next()){
hashMap=new HashMap();
// String[] array=new String[coulum];
for(int i=0;i0){
// logger.info((count++)+"success");
// }else{
// logger.info("false");
// }
//把sql语句写到文件中
// bw.write(sql+"\n");
// logger.info(sql);
}
} catch (Exception e) {
logger.error("SQLException有错误!"+sql,e);
} finally{
try {
if(mysqlStat!=null) mysqlStat.close();
if(rs!=null) rs.close();
if(bw!=null) bw.close();
if(mysqlConn!=null) mysqlConn.close();
if(conn!=null) conn.close();
} catch (Exception ex) {
logger.error("关闭conn时出错", ex);
}
}
long now=System.currentTimeMillis();
logger.info("生成完毕,共花费了"+(now-oldTime)/1000+"s时间");
}
/**
* 数据库转移到mysql上,mysqlTableName上的字段必须和msFields的字段一一对应。
* @param mysqlTableName 目标数据库表
* @param tableName 源数据库表
* @param msFields tableName表中的字段
*/
public void getTableData2(String mysqlTableName,String tableName,String[] msFields) {
// String tableName="t_ad_union_user";
String sql="select * from "+tableName;
String mysqlSql="select * from "+mysqlTableName;
ResultSet rs=null;
ResultSet mysqlRs=null;
String path="c:\\"+mysqlTableName+".txt";
BufferedWriter bw=null;
mysqlConn=this.getMysqlConn();
int count=0;
long oldTime=System.currentTimeMillis();
try {
// bw=new BufferedWriter(new FileWriter(path));
mysqlStat=mysqlConn.createStatement();
mysqlRs=mysqlStat.executeQuery(mysqlSql);
ResultSetMetaData mysqlRsmd=mysqlRs.getMetaData();
// String mysqlField="";
// int mysqlColum=mysqlRsmd.getColumnCount();
// for(int i=0;i0){
logger.info((count++)+"success");
}else{
logger.info("false");
}
// logger.info(mysqlField);
// logger.info(valueSql);
//把sql语句写到文件中
// bw.write(sql+"\n");
}
} catch (Exception e) {
logger.error("SQLException有错误!"+sql,e);
} finally{
try {
if(mysqlStat!=null) mysqlStat.close();
if(rs!=null) rs.close();
if(bw!=null) bw.close();
if(mysqlConn!=null) mysqlConn.close();
if(conn!=null) conn.close();
} catch (Exception ex) {
logger.error("关闭conn时出错", ex);
}
}
long now=System.currentTimeMillis();
logger.info("生成完毕,共花费了"+(now-oldTime)/1000+"s时间");
}
public static void main(String[] args){
// String tableName="LeaveWords";
// String tableName="SearchPrice";
// String tableName="t_site_indexed";
// String tableName="Declaration";
// String tableName="Bulletin";
// String tableName="t_login_info";
// String tableName="ss_ipnetlist";
String mysqlTableName="t_ad_union_basicData";
String msTableName="t_ad_union_basicData";
String[] msFields={"ID","createDate","statDate","alltype","uid","posid",
"type","remoteIp","isMobile"};
// String mysqlTableName="t_ad_union_userTotal_final";
// String msTableName="t_ad_union_userTotal_final";
// String[] msFields={"ID","createDate","statDate","uid","posId","clickNum",
// "showNum","clickNumOne","clickNumTwo","ipNum","aa","aa2","price"};
// String mysqlTableName="t_ad_union_userTotal";
// String msTableName="t_ad_union_userTotal";
// String[] msFields={"ID","createDate","statDate","uid","posId","clickNum",
// "showNum","clickNumOne","clickNumTwo","ipNum","aa","aa2","price"};
// String mysqlTableName="t_ad_union_kouliang";
// String msTableName="t_ad_union_kouliang";
// String[] msFields={"ID","statDate","assignRatio","deductRatio","incomeTotal","assignRatioInit",
// "deductRatioInit","incomeTotalInit","ispast","incomeTotalFinal"};
// String mysqlTableName="t_ad_union_ip_config";
// String msTableName="t_ad_union_ip_config";
// String[] msFields={"ID","userid","minQuery","maxQuery","minValue","maxValue","minTrans",
// "maxTrans"};
// String mysqlTableName="t_ad_union_cpc_config";
// String msTableName="t_ad_union_cpc_config";
// String[] msFields={"ID","userid","minCpc","maxCpc","value","beginDate","endDate"};
// String mysqlTableName="t_ad_union_adver_cpc";
// String msTableName="t_ad_union_adver_cpc";
// String[] msFields={"ID","statDate","adverName","clickNum"};
// String mysqlTableName="t_ad_union_adTotal_ip";
// String msTableName="t_ad_union_adTotal_ip";
// String[] msFields={"ID","createDate","statDate","allType","showNum","clickNum","remoteIp"};
// String mysqlTableName="t_ad_union_adTotal_allType";
// String msTableName="t_ad_union_adTotal_allType";
// String[] msFields={"ID","createDate","statDate","allType","showNum","clickNum","remoteIp"};
// String mysqlTableName="t_ad_union_ader_config";
// String msTableName="t_ad_union_ader_config";
// String[] msFields={"ID","adName","minCpa","maxCpa","value"};
// String mysqlTableName="t_ad_union_ad_income";
// String msTableName="t_ad_union_ad_income";
// String[] msFields={"ID","createDate","statDate","cpa","price","income","username"};
// String mysqlTableName="t_UnionPayMonthReport";
// String msTableName="UnionPayMonthReport";
// String[] msFields={"ID","createDate","statDate","payTime","userid","feeValue","validTotal",
// "checkStatus","payStatus","remark","confirmStatus"};
// String mysqlTableName="t_Union_UserPayMonth";
// String msTableName="Union_UserPayMonth";
// String[] msFields={"ID","createDate","statDate","userid","feeValue","validTotal",
// "checkStatus","remark","advalue"};
// String mysqlTableName="t_UnionSiteMonthReport";
// String msTableName="UnionSiteMonthReport";
// String[] msFields={"ID","createDate","statDate","sid","feeValue","validTotal"};
// String mysqlTableName="t_UnionSiteMonthReportDetail";
// String msTableName="UnionSiteMonthReportDetail";
// String[] msFields={"ID","validTotal","sid","statDate","searchType","userid","price"};
// String mysqlTableName="t_TopSites";
// String msTableName="t_TopSites";
// String[] msFields={"ID","easyName","fullName","url","sid","topKey","typeKey","orderNo","showSite"};
// String mysqlTableName="t_LeaveWords";
// String msTableName="LeaveWords";
// String[] msFields={"ID","CreateTime","Content","HasReply","ReplyContent","Email","userid",
// "ua","url","ip","uid"};
// String mysqlTableName="t_SearchPrice";
// String msTableName="SearchPrice";
// String[] msFields={"ID","MinDate","MaxDate","MinScale","MaxScale","SearchType","price","sid",
// "userid","remark"};
// String mysqlTableName="t_site_indexed";
// String msTableName="t_site_indexed";
// String[] msFields={"ID","CreateDate","reviewedDate","domainAddr","email","status","reviewed"};
// String mysqlTableName="t_Declaration";
// String msTableName="Declaration";
// String[] msFields={"id","CreateTime","title","content","dposition","userid"};
// String mysqlTableName="t_login_info";
// String msTableName="t_login_info";
// String[] msFields={"id","userid","username","loginDate","ip","loginType"};
// String mysqlTableName="t_ipnetlist";
// String msTableName="ss_ipnetlist";
// String[] msFields={"ip","ip2","createdt","netname"};
// String mysqlTableName="t_ss_sqlconfig";
// String msTableName="ss_sqlconfig";
// String[] msFields={"ID","keyword","sqlUrl","title","roles","team","isurl"};
// String mysqlTableName="t_ss_managetree";
// String msTableName="ss_managetree";
// String[] msFields={"ID","title","pid","orderId",};
// String mysqlTableName="t_ss_operator";
// String msTableName="ss_operator";
// String[] msFields={"ID","UserName","Password","Attribute","remark"};
// String mysqlTableName="t_unionsite";
// String msTableName="unionsite";
// String[] msFields={"SID","CreateTime","UpdateTime","userid","DomainAddr","DomainTitle","BottomLink",
// "BottomTitle"};
// String mysqlTableName="t_unionuser";
// String msTableName="unionuser";
// String[] msFields={"UID","CreateTime","UpdateTime","userid","password","teleNo","mobileNo",
// "IDCard","BankType","BankPlace","BankCardNo","QQ","FullName","Email","LinkFrom",
// "LastIp","UA","msn","isOpen"};
DataSql ds=new DataSql();
ds.getTableData2(mysqlTableName,msTableName,msFields);
}
}
- dao.zip (4.1 KB)
- 下载次数: 82