postgresql数据类型与jdbc、java类型对应
原创
©著作权归作者所有:来自51CTO博客作者zhjh256的原创作品,请联系作者获取转载授权,否则将追究法律责任
编号 |
数据库类型 |
JDBC类型 |
JDBC索引 |
---|
1 |
varchar |
java.lang.String |
12 |
2 |
char |
java.lang.String |
1 |
3 |
cidr |
java.lang.Object |
1,111 |
4 |
inet |
java.lang.Object |
1,111 |
5 |
macaddr |
java.lang.Object |
1,111 |
6 |
text |
java.lang.String |
12 |
7 |
int8 |
java.lang.Long |
-5 |
8 |
bytea |
byte |
-2 |
9 |
box |
java.lang.Object |
1,111 |
10 |
circle |
java.lang.Object |
1,111 |
11 |
float8 |
java.lang.Double |
8 |
12 |
int4 |
java.lang.Integer |
4 |
13 |
interval |
java.lang.Object |
1,111 |
14 |
line |
java.lang.Object |
1,111 |
15 |
lseg |
java.lang.Object |
1,111 |
16 |
money |
java.lang.Double |
8 |
17 |
numeric |
java.math.BigDecimal |
2 |
18 |
path |
java.lang.Object |
1,111 |
19 |
point |
java.lang.Object |
1,111 |
20 |
polygon |
java.lang.Object |
1,111 |
21 |
float4 |
java.lang.Float |
7 |
22 |
int2 |
java.lang.Integer |
5 |
23 |
int4 |
java.lang.Integer |
4 |
24 |
time |
java.sql.Time |
92 |
25 |
timestamp |
java.sql.Timestamp |
93 |
26 |
bit |
java.lang.Boolean |
-7 |
27 |
varbit |
java.lang.Object |
1,111 |
28 |
bool |
java.lang.Boolean |
-7 |
pg数组对应对应java类型为:java.sql.Array。如下:
try {
String[] usa = {"New York", "Chicago", "San Francisco"};
String[] canada = {"Montreal", "Toronto", "Vancouver"};
String[] uk = {"London", "Birmingham", "Oxford"};
/*
Convert String[] to java.sql.Array using JDBC API
*/
Array arrayUSA = conn.createArrayOf("text", usa);
Array arrayCanada = conn.createArrayOf("text", canada);
Array arrayUK = conn.createArrayOf("text", uk);
String sql = "INSERT INTO city_example VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "USA");
pstmt.setArray(2, arrayUSA);
pstmt.executeUpdate();
pstmt.setString(1, "Canada");
pstmt.setArray(2, arrayCanada);
pstmt.executeUpdate();
pstmt.setString(1, "UK");
pstmt.setArray(2, arrayUK);
pstmt.executeUpdate();
conn.commit();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}