资源简介

连oracle 数据库,将指定表转为java pojo 类 的 java demo

资源截图

代码片段和文件信息

/**
 * a generator for create java pojo class according to connected db tables 
 * usage: need input command line params as tableName(NOTE:  oracle‘s tableName 
 * is always uppercase! ) 
 * example1: >java Table2Bean TEST    example2: >java Table2Bean T%
 * @author Charles lei
 */
import java.io.FileWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Table2Bean {

/**
 * @param args
 */

public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
PreparedStatement pstmt = null;

List tables = new ArrayList();// 表名数组
Map fields = new HashMap();// 当前表字段数组
//List fieldType = new ArrayList();// 当前表字段类型数组

// 连数据库
try {
Class.forName(“oracle.jdbc.driver.OracleDriver“);

conn = DriverManager.getConnection(
“jdbc:oracle:thin:@100.100.100.52:1521:dbid“ “user_ID_has_dba_priva“
“passwd“);// test
System.out.println(“db connected.“);
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(“error in connect db.“);
}
// 获得用户所有的表结构信息
String sql = “select  object_name from dba_objects “
+ “where object_name   like ‘“+args[0]+“‘ “
+ “and object_type=‘TABLE‘ “ + “and owner=‘RHPC‘ “;// test
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
tables.add(rs.getString(1));
}
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println(“error in query data :“ + sql);

}

// 循环创建tableNamebean.java
sql = “select  COLUMN_NAME  DATA_TYPE DATA_LENGTH DATA_SCALE“
+ “ from dba_tab_columns a “ + “ where table_name =?  “;
try {
pstmt = conn.prepareStatement(sql);
String tName = null;
String fv;
for (Iterator it = tables.iterator(); it.hasNext();) {
tName = it.next().toString();
pstmt.setString(1 tName);
//System.out.println(“create file:“ + sql);



rs = pstmt.executeQuery();
fields.clear();

while (rs.next()) {
// String.format(format args)“sdfsdf“.format(format args)

f =String.format( “%10s“rs.getString(1) )+“; //“+
String.format( “%10s“rs.getString(2) )+““+
   rs.getString(3)+““+rs.getString(4);
v =“NULL“;
if (rs.get

评论

共有 条评论