資源簡介
將postgres數據導入到sqlite;支持自動創建sqlite表,支持全庫導入和指定表導入。

代碼片段和文件信息
package?com.app.tosqlite;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.PreparedStatement;
import?java.sql.ResultSet;
import?java.sql.ResultSetmetaData;
import?java.sql.SQLException;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Vector;
public?class?Postgre2Sqlite?
{
private?static?Connection?getSqliteConn(String?url)
{
Connection?conn?=?null;
try?
{
Class.forName(“org.sqlite.JDBC“);
conn?=?DriverManager.getConnection(url);//設置sqlite的路徑
}?
catch?(Exception?e)?
{
e.printStackTrace();
}
return?conn;
}
private?static?Connection?getTargetDBConn(String?fornameString?urlString?userString?password)
{
Connection?con?=?null;
try?
{
Class.forName(forname).newInstance();
con?=?DriverManager.getConnection(url?user?password);
}?
catch?(Exception?e)?
{
e.printStackTrace();
}
return?con;
}
public?static?void?importTable(Connection?pConnConnection?sqliteConnString?tableName)?throws?SQLException
{
Map?colTypeMap?=?new?HashMap();
System.err.println(“前:“+colTypeMap.size());
ResultSet?rs?=?initColumn(pConn?tableNamecolTypeMap);//這里已經查過了
System.err.println(“后:“+colTypeMap.size());
if(null==rs)
{
return;
}
String?strInsert?=?“insert?into?“?+?tableName?+?getParamStr(colTypeMap.size());
System.out.println(strInsert);
PreparedStatement?psInsert?=?sqliteConn.prepareStatement(strInsert);
int?batchInsertCnt?=?0;
while(rs.next())
{
//循環結果集中的一條數據中的所有列
for?(int?i?=?1;?i?<=?colTypeMap.size();?i++)?
{
int?colType?=?colTypeMap.get(i);
switch?(colType)?
{
case?-7:
psInsert.setBoolean(i?rs.getBoolean(i));
break;
case?-1:
psInsert.setString(i?rs.getString(i));
break;
case?4:
psInsert.setInt(i?rs.getInt(i));
break;
case?8:
psInsert.setDouble(i?rs.getDouble(i));
break;
case?12:
psInsert.setString(i?rs.getString(i));
break;
case?93:
psInsert.setDate(i?rs.getDate(i));
break;
}
}
//循環結果集中的一條數據加入到批量處理集中
psInsert.addBatch();
batchInsertCnt++;
if?(batchInsertCnt?%?100?==?0)?
{
System.out.println(“batchInsertCnt:“?+?batchInsertCnt);
psInsert.executeBatch();
}
}
if?(batchInsertCnt?>?0)?
{
psInsert.executeBatch();
System.out.println(tableName?+?“?total?insert:“?+?batchInsertCnt?+?“?rows.“);
}
}
private?static?String?getParamStr(int?colCnt)?
{
String?paramStr?=?“?values?(“;
for?(int?i?=?0;?i? {
if?(i==0)?
{
paramStr?+=?“?“;
}?
else?
{
paramStr?+=?“?“;
}
}
paramStr?+=?“)?“;
return?paramStr;?
}
private?static?void?closeDBConn(Connection?connMyDBsql?Connection?connSqlite)?throws?SQLException?
{
con
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????430??2013-12-28?23:36??Postgres2Sqlite\.classpath
?????文件????????391??2013-12-28?23:28??Postgres2Sqlite\.project
?????文件????????598??2013-12-28?23:28??Postgres2Sqlite\.settings\org.eclipse.jdt.core.prefs
?????文件???????9220??2013-12-28?23:39??Postgres2Sqlite\bin\com\app\tosqlite\Postgre2Sqlite.class
?????文件????3702257??2013-06-20?18:11??Postgres2Sqlite\lib\sqlite-jdbc-3.7.15-SNAPSHOT.jar
?????文件?????466359??2013-08-30?14:53??Postgres2Sqlite\lib\sqljdbc4.jar
?????文件???????7342??2013-12-28?23:39??Postgres2Sqlite\src\com\app\tosqlite\Postgre2Sqlite.java
?????目錄??????????0??2013-12-28?23:36??Postgres2Sqlite\bin\com\app\tosqlite
?????目錄??????????0??2013-12-28?23:29??Postgres2Sqlite\src\com\app\tosqlite
?????目錄??????????0??2013-12-28?23:36??Postgres2Sqlite\bin\com\app
?????目錄??????????0??2013-12-28?23:29??Postgres2Sqlite\src\com\app
?????目錄??????????0??2013-12-28?23:36??Postgres2Sqlite\bin\com
?????目錄??????????0??2013-12-28?23:29??Postgres2Sqlite\src\com
?????目錄??????????0??2013-12-28?23:28??Postgres2Sqlite\.settings
?????目錄??????????0??2013-12-28?23:36??Postgres2Sqlite\bin
?????目錄??????????0??2013-12-28?23:38??Postgres2Sqlite\db
?????目錄??????????0??2013-12-28?23:36??Postgres2Sqlite\lib
?????目錄??????????0??2013-12-28?23:29??Postgres2Sqlite\src
?????目錄??????????0??2013-12-28?23:35??Postgres2Sqlite
-----------?---------??----------?-----??----
??????????????4186597????????????????????19
評論
共有 條評論