導航:首頁 > 編程語言 > javasql獲取欄位的類型

javasql獲取欄位的類型

發布時間:2025-07-29 03:27:03

A. java 怎樣獲取java.sql.date 類型年月日並插入到資料庫date類型中

JDBC環境下
如果使用的是ement介面:
String sql = "insert into 表名(date類型的列) values(?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setDate(1, date對象);
stmt.executeUpdate();

如果使用的是Statement介面:
java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd"); // mssql、mysql格式
java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy"); // oracle格式

String sql = String.format("insert into 表名(date類型的列) values('%s')", fmt1.format(date對象));
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);

使用Hibernate和myts的確就不用關心類型轉換問題了~

B. java如何獲得資料庫表中各欄位的欄位名

Java獲取資料庫的表中各欄位的欄位名,代碼如下:

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.PreparedStatement;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
publicclassTestDemo{
(){
Connectionconn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
Stringurl="jdbc:mysql://資料庫IP地址:3306/資料庫名稱";
Stringuser="資料庫用戶名";
Stringpass="資料庫用戶密碼";
conn=DriverManager.getConnection(url,user,pass);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
returnconn;
}
publicstaticvoidmain(String[]args){
Connectionconn=getConnection();
Stringsql="select*fromAccessType";
PreparedStatementstmt;
try{
stmt=conn.prepareStatement(sql);
ResultSetrs=stmt.executeQuery(sql);
ResultSetMetaDatadata=rs.getMetaData();
for(inti=1;i<=data.getColumnCount();i++){
//獲得所有列的數目及實際列數
intcolumnCount=data.getColumnCount();
//獲得指定列的列名
StringcolumnName=data.getColumnName(i);
//獲得指定列的列值
intcolumnType=data.getColumnType(i);
//獲得指定列的數據類型名
StringcolumnTypeName=data.getColumnTypeName(i);
//所在的Catalog名字
StringcatalogName=data.getCatalogName(i);
//對應數據類型的類
StringcolumnClassName=data.getColumnClassName(i);
//在資料庫中類型的最大字元個數
intcolumnDisplaySize=data.getColumnDisplaySize(i);
//默認的列的標題
StringcolumnLabel=data.getColumnLabel(i);
//獲得列的模式
StringschemaName=data.getSchemaName(i);
//某列類型的精確度(類型的長度)
intprecision=data.getPrecision(i);
//小數點後的位數
intscale=data.getScale(i);
//獲取某列對應的表名
StringtableName=data.getTableName(i);
//是否自動遞增
booleanisAutoInctement=data.isAutoIncrement(i);
//在資料庫中是否為貨幣型
booleanisCurrency=data.isCurrency(i);
//是否為空
intisNullable=data.isNullable(i);
//是否為只讀
booleanisReadOnly=data.isReadOnly(i);
//能否出現在where中
booleanisSearchable=data.isSearchable(i);
System.out.println(columnCount);
System.out.println("獲得列"+i+"的欄位名稱:"+columnName);
System.out.println("獲得列"+i+"的類型,返回SqlType中的編號:"+columnType);
System.out.println("獲得列"+i+"的數據類型名:"+columnTypeName);
System.out.println("獲得列"+i+"所在的Catalog名字:"+catalogName);
System.out.println("獲得列"+i+"對應數據類型的類:"+columnClassName);
System.out.println("獲得列"+i+"在資料庫中類型的最大字元個數:"+columnDisplaySize);
System.out.println("獲得列"+i+"的默認的列的標題:"+columnLabel);
System.out.println("獲得列"+i+"的模式:"+schemaName);
System.out.println("獲得列"+i+"類型的精確度(類型的長度):"+precision);
System.out.println("獲得列"+i+"小數點後的位數:"+scale);
System.out.println("獲得列"+i+"對應的表名:"+tableName);
System.out.println("獲得列"+i+"是否自動遞增:"+isAutoInctement);
System.out.println("獲得列"+i+"在資料庫中是否為貨幣型:"+isCurrency);
System.out.println("獲得列"+i+"是否為空:"+isNullable);
System.out.println("獲得列"+i+"是否為只讀:"+isReadOnly);
System.out.println("獲得列"+i+"能否出現在where中:"+isSearchable);
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
閱讀全文

與javasql獲取欄位的類型相關的資料

熱點內容
vss資料庫是什麼 瀏覽:899
奇跡13單機系統找不到指定文件 瀏覽:719
flyme魅藍3以前的版本 瀏覽:318
安卓文件管理哪些文件夾可以刪除 瀏覽:290
安卓車載導航沒有聲音是怎麼回事 瀏覽:810
cjson數組格式 瀏覽:159
vb文件在哪裡 瀏覽:215
工廠里都招什麼編程人員 瀏覽:932
jspsql登錄 瀏覽:981
網路用語粉絲閱讀什麼意思 瀏覽:333
紅頭文件怎麼列印 瀏覽:94
熱血江湖130刺客升級 瀏覽:106
jsp頁面放大鏡技術介紹 瀏覽:101
網路編程udp 瀏覽:148
加密壓縮文件如何打開 瀏覽:56
微軟編程軟體有哪些 瀏覽:736
linux目錄中創建文件夾許可權設置密碼 瀏覽:759
word文檔正式文件模版 瀏覽:247
linux文件系統的類型是 瀏覽:111
蘋果的無線傳輸文件找不到了 瀏覽:102

友情鏈接