(전환) 자바 데이터베이스 시트 정보 읽 기, 하위 세그먼트
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/***
* 2014-07-21 :
* oracle , , ,
* all_tab_columns
* all_col_comments
* @author
*
*/
public class OracleTable {
private static final String DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
private static final String DATABASE_URL = "jdbc:oracle:thin:@192.168.1.10:1521:orcl";
private static final String DATABASE_USER = "dev";
private static final String DATABASE_PASSWORD = "dev";
private static Connection con = null;
public static Connection getConnection() {
try {
Class.forName(DRIVER_CLASS);
con=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
return con;
} catch (Exception ex) {
System.out.println("2:"+ex.getMessage());
}
return con;
}
/***
* test
* @throws SQLException
*/
public static void sysoutStrTablePdmCloumns(String Table,String Owner) throws SQLException{
getConnection();
List<HashMap<String,String>> columns = new ArrayList<HashMap<String,String>>();
try{
Statement stmt = con.createStatement();
String sql=
"select "+
" comments as \"Name\","+
" a.column_name \"Code\","+
" a.DATA_TYPE as \"DataType\","+
" b.comments as \"Comment\","+
" decode(c.column_name,null,'FALSE','TRUE') as \"Primary\","+
" decode(a.NULLABLE,'N','TRUE','Y','FALSE','') as \"Mandatory\","+
" '' \"sequence\""+
" from "+
" all_tab_columns a, "+
" all_col_comments b,"+
" ("+
" select a.constraint_name, a.column_name"+
" from user_cons_columns a, user_constraints b"+
" where a.constraint_name = b.constraint_name"+
" and b.constraint_type = 'P'"+
" and a.table_name = '"+Table+"'"+
" ) c"+
" where "+
" a.Table_Name=b.table_Name "+
" and a.column_name=b.column_name"+
" and a.Table_Name='"+Table+"'"+
" and a.owner=b.owner "+
" and a.owner='"+Owner+"'"+
" and a.COLUMN_NAME = c.column_name(+)" +
" order by a.COLUMN_ID";
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
HashMap<String,String> map = new HashMap<String,String>();
map.put("Name", rs.getString("Name"));
map.put("Code", rs.getString("Code"));
map.put("DataType", rs.getString("DataType"));
map.put("Comment", rs.getString("Comment"));
map.put("Primary", rs.getString("Primary"));
map.put("Mandatory", rs.getString("Mandatory"));
columns.add(map);
}
}
catch (SQLException e){
e.printStackTrace();
}finally{
con.close();
}
}
public static void main(String[] args) throws SQLException{
sysoutStrTablePdmCloumns("CT_INFO_CONTRACT_BORROW","DEV");
}
}
test
java
: java
.Java
//
Java
public void getTableNameByCon(Connection con) {
try {
DatabaseMetaData meta = con.getMetaData();
ResultSet rs = meta.getTables(null, null, null,
new String[] { "TABLE" });
while (rs.next()) {
System.out.println(" :" + rs.getString(3));
System.out.println(" :" + rs.getString(2));
System.out.println("------------------------------");
}
con.close();
} catch (Exception e) {
try {
con.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// TODO Auto-generated catch block
e.printStackTrace();
}
}
. sql
--MySQL
Java
show tables;
--Oracle ( )
Java
select uo.object_name from user_objects uo where uo.object_type = 'TABLE';
--sql server 2000/2005
Java
select name from sysobjects
--sybase
Java
select name from sysobjects where type='U';
--DB2
Java
select tabname from syscat.tables where tabschema = current schema ;//
:http://hi.baidu.com/rybwxn/blog/item/1a59502a75a7de25d52af1cc.html
test
DatabaseMetaData :
public static void main(String[] args) {
//
String url = "jdbc:mysql://127.0.0.1:3306/";
String user = "root";
String pass = "";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(url, user, pass);
DatabaseMetaData metadata = conn.getMetaData();
System.out.println(" : "+ metadata.getUserName());
System.out.println(" : "+ metadata.getSystemFunctions());
System.out.println(" : "+ metadata.getTimeDateFunctions());
System.out.println(" : "+ metadata.getStringFunctions());
System.out.println(" 'schema' : "+ metadata.getSchemaTerm());
System.out.println(" URL: " + metadata.getURL());
System.out.println(" :" + metadata.isReadOnly());
System.out.println(" :" + metadata.getDatabaseProductName());
System.out.println(" :" + metadata.getDatabaseProductVersion());
System.out.println(" :" + metadata.getDriverName());
System.out.println(" :" + metadata.getDriverVersion());
System.out.println();
System.out.println(" ");
ResultSet rs = metadata.getTableTypes();
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
System.out.println();
/**
* ,getTables()
* MySQL , , null
* , 。
*/
System.out.println(" ");
ResultSet rs1 = metadata.getTables("ssi2bbs", null, null, null);
while (rs1.next()) {
System.out.println();
System.out.println(" :"+ rs1.getString(1));
System.out.println(" : "+rs1.getString(3));
System.out.println(" : "+rs1.getString(4));
}
rs1.close();
System.out.println();
System.out.println(" ");
// , , null
ResultSet rs2 = metadata.getPrimaryKeys("mysql", null, "db");
while (rs2.next()) {
System.out.println(" : "+ rs2.getString(4));
}
rs2.close();
System.out.println();
System.out.println("DatabaseMetaData.getIndexInfo() :");
ResultSet rs3 = metadata.getIndexInfo("ssi2bbs", null, "user", false, true);
while (rs3.next()) {
System.out.println(" : "+ rs3.getString(1));
System.out.println(" : "+ rs3.getString(2));
System.out.println(" : "+ rs3.getString(3));
System.out.println(" : "+ rs3.getString(4));
System.out.println(" : "+ rs3.getString(5));
System.out.println(" : "+ rs3.getString(6));
System.out.println(" : "+ rs3.getString(7));
System.out.println(" : "+ rs3.getString(8));
System.out.println(" : "+ rs3.getString(9));
System.out.println(" : "+ rs3.getString(10));
System.out.println("TYPE tableIndexStatistic : "+ rs3.getString(11));
System.out.println("TYPE tableIndexStatisic : "+ rs3.getString(12));
System.out.println(" : "+ rs3.getString(13));
}
rs3.close();
} catch (Exception e) {
e.printStackTrace();
}
}
ResultSetMetaData , ResultSet 。 。 , 。 JAVA JDK。
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ssi2bbs","root","");
PreparedStatement ps = conn.prepareStatement("select * from bbs");
ResultSet rs = ps.executeQuery();
ResultSetMetaData rsme = rs.getMetaData();
int columnCount = rsme.getColumnCount();
System.out.println("ResultSet "+ columnCount);
for (int i = 1; i < columnCount ; i++) {
System.out.println();
System.out.println(" : "+ rsme.getColumnName(i));
System.out.println(" (DB): " + rsme.getColumnTypeName(i));
System.out.println(" : "+ rsme.getPrecision(i) );
System.out.println(" : "+ rsme.isAutoIncrement(i));
System.out.println(" : "+ rsme.isNullable(i));
System.out.println(" : "+ rsme.isReadOnly(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
test
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.