當前位置:首頁 » 操作系統 » java資料庫欄位類型

java資料庫欄位類型

發布時間: 2022-09-05 10:54:16

資料庫text對應java什麼欄位

如果你是自動生成資料庫表和欄位的話建議您在對應的String欄位上面加上

@Column(nullable = false, columnDefinition = "TEXT")

這樣資料庫欄位類型就是TEXT,而不是VARCHAR,默認都是VARCHAR的

Ⅱ 資料庫的中text類型,對應Java中的什麼類型

還是 String 類型,不知你們是否使用Hibernate框架,使用的話可以給String 類型設置最大長度;

@Column(length=1024)
privateStringyeartroupeStr;

此欄位,對應成了LongText類型(可能,不確定);

希望能幫到你

Ⅲ 關於Java中時間的處理,我資料庫中的欄位是dateTime類型的,我在Java中聲明欄位的類型

我的建議是,資料庫中不要用日期類型,用字元型。
java將日期轉化成指定的格式的字元串後,再保存到資料庫中。
這樣,不依賴資料庫,也不依賴操作系統。(不同的資料庫,不同的操作系統日期表示可能不同。)

Ⅳ java 資料庫映射的javabean中有的欄位是int類型有的是integer類型有規范嗎

統一用Integer ,
int的默認值是0,而Integer的默認值是null,如果你資料庫那個欄位沒有值,你用int存儲,不是變成0了么?

Ⅳ java資料庫中的欄位為number類型,實體類中怎麼寫

推薦用double,如果你能確定資料庫中該欄位的值不會是小數只會是整數的話,可以用int

Ⅵ java 操作資料庫時一個屬性是DateTime類型的寫入資料庫時可弄成Varchar么

通常上來說,資料庫和實體類間的欄位建立聯系,盡量讓實體的屬性類型與數據欄位類型一一對應,比如你使用的是oracle資料庫,那麼表的主鍵如果為NUMBER,那麼實體對應主鍵屬性java類型就定義為Long或Integer(依欄位長度決定),如果資料庫表欄位為VARCHAR,實體類對應屬性就應該是String,如果資料庫欄位為小數,則定義為Double,屬性建議使用包裝類型,不用基本類型。至於時間,資料庫一般由Date,DateTime,以及timestamp表示,對應於java實體類,一般用Date封裝即可,對時間進精度要求高的話,就用TimeStamp封裝。

當然,你說的情況是可以的,也就是說,使用java的String類型,理論上可以封裝所有的資料庫欄位類型,你可以把任何資料庫的有效欄位都封裝為String,因為java中的所有數據類型,都有toString()方法,可以以字元串形式展示任何數據類型,還可以通過重寫對象的toString()方式達到自定義顯示數據的方式,可以說很方便。但是時間類型一旦用字元串表示,你便失去了直接調用時間類型特有的一些有用的方法,比如獲取時分秒,比較時間大小等等。而是需要手動再轉化為時間對象再進行操作,這無疑又多了一個步驟。因此,除非是比較特殊的情況,比如,單純的進行數據導出,不做特殊處理,你可以建一個屬性全為String的實體類,來封裝資料庫查詢的數據,然後導出為excel或word文件之類的操作。否則,強烈建議使用匹配的數據類型和資料庫欄位類型建立關聯!
希望我的回答能幫到你!

Ⅶ java類里 Date 類型的數據存資料庫里時對應的欄位類型也是Date的類型,存的時候格式應該為什麼

private Date createTime;這是實體類格式

<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
這是mybatis.xml 配置文件格式

這是mysql 資料庫格式

Ⅷ java中如何得到資料庫中表的欄位類型

經過access測試,ok

String url = "jdbc:odbc:test";//最後一個為資料庫名
Statement sm = null;
String command = null;
ResultSet rs = null;
String tableName = null;
String cName = null;
String result = null;
String []pram = new String[1];
List <String> tables = new ArrayList<String>();
pram[0] = "table";
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 載入驅動
} catch (ClassNotFoundException e) {
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con = DriverManager.getConnection(url, "admin", "admin"); // 連接到資料庫
DatabaseMetaData dm = con.getMetaData();
rs = dm.getTables(null, null, null, pram);//查找所有的表
while(rs.next()){
tables.add(rs.getString(3));
}
rs.close();
for(String tb : tables){
rs = dm.getColumns(null, null, tb, null);//查找當前表的欄位
System.out.println("\nthe table is: " + tb);
ResultSetMetaData rsmd = rs.getMetaData();
int len, type;
len = rsmd.getColumnCount();
// System.out.println(len);
for(int i = 1; i <= len; i ++){
type = rsmd.getColumnType(i);
//這里是獲取了一個欄位類型的int型,需要轉化成string的話要做一個swtich,就不轉了,你自己看java.sql.Types這個類去
System.out.print("\t" + rsmd.getColumnName(i) + ": " + rsmd.getColumnType(i));
}
}
rs.close();
con.close();
// }
} catch (SQLException ex) {
System.out.println("SQLException:");
while (ex != null) {
System.out.println("Message:" + ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception e) {
System.out.println("IOException");
}

Ⅸ java怎樣讀取資料庫表中欄位的數據類型

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://資料庫IP地址:3306/資料庫名稱";
String user = "資料庫用戶名";
String pass = "資料庫用戶密碼";
conn = DriverManager.getConnection(url, user, pass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select * from AccessType";
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData data = rs.getMetaData();
for (int i = 1; i <= data.getColumnCount(); i++) {
// 獲得所有列的數目及實際列數
int columnCount = data.getColumnCount();
// 獲得指定列的列名
String columnName = data.getColumnName(i);
// 獲得指定列的列值
int columnType = data.getColumnType(i);
// 獲得指定列的數據類型名
String columnTypeName = data.getColumnTypeName(i);
// 所在的Catalog名字
String catalogName = data.getCatalogName(i);
// 對應數據類型的類
String columnClassName = data.getColumnClassName(i);
// 在資料庫中類型的最大字元個數
int columnDisplaySize = data.getColumnDisplaySize(i);
// 默認的列的標題
String columnLabel = data.getColumnLabel(i);
// 獲得列的模式
String schemaName = data.getSchemaName(i);
// 某列類型的精確度(類型的長度)
int precision = data.getPrecision(i);
// 小數點後的位數
int scale = data.getScale(i);
// 獲取某列對應的表名
String tableName = data.getTableName(i);
// 是否自動遞增
boolean isAutoInctement = data.isAutoIncrement(i);
// 在資料庫中是否為貨幣型
boolean isCurrency = data.isCurrency(i);
// 是否為空
int isNullable = data.isNullable(i);
// 是否為只讀
boolean isReadOnly = data.isReadOnly(i);
// 能否出現在where中
boolean isSearchable = 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 (SQLException e) {
e.printStackTrace();
}
}
}

熱點內容
張藝謀我們一家訪問人 發布:2024-05-05 12:38:05 瀏覽:110
美版安卓系統怎麼安裝 發布:2024-05-05 12:37:18 瀏覽:918
qq郵箱緩存地址 發布:2024-05-05 12:37:16 瀏覽:984
電位演算法 發布:2024-05-05 12:36:01 瀏覽:725
我的世界清風斗羅大陸伺服器地址 發布:2024-05-05 12:35:50 瀏覽:451
dell伺服器如何進入bios 發布:2024-05-05 12:34:26 瀏覽:328
在線名片製作源碼 發布:2024-05-05 12:29:27 瀏覽:446
陰陽師按鍵腳本 發布:2024-05-05 12:00:33 瀏覽:759
魔獸查腳本 發布:2024-05-05 11:54:37 瀏覽:38
sqlserver執行時間 發布:2024-05-05 11:50:31 瀏覽:648