<p>1,数据库元数据,作用不是很大。</p>
<p> <textarea cols="68" rows="9" name="code" class="java">java.sql.Connection conn = JdbcUtils.getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("db name: " + dbmd.getDatabaseProductName());
System.out.println("tx: " + dbmd.supportsTransactions());
conn.close();</textarea></p>
<p>2,参数元数据查询。</p>
<p> <textarea cols="67" rows="15" name="code" class="java">public static void main(String[] args) throws SQLException {
Object[] params = new Object[] { "lisi", 100f };
read("select * from user where name=? and money > ?", params);
}
static void read(String sql, Object[] params) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
ps = conn.prepareStatement(sql);
// ParameterMetaData pmd = ps.getParameterMetaData();
// int count = pmd.getParameterCount();
for (int i = 1; i <= params.length; i++) {
// System.out.print(pmd.getParameterClassName(i) + "\t");
// System.out.print(pmd.getParameterType(i) + "\t");
// System.out.println(pmd.getParameterTypeName(i));
ps.setObject(i, params[i - 1]);
}
rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + "\t"
+ rs.getString("name") + "\t" + rs.getDate("birthday")
+ "\t" + rs.getFloat("money"));
}
} finally {
JdbcUtils.free(rs, ps, conn);
}
}</textarea></p>
<p> <textarea cols="68" rows="9" name="code" class="java">java.sql.Connection conn = JdbcUtils.getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("db name: " + dbmd.getDatabaseProductName());
System.out.println("tx: " + dbmd.supportsTransactions());
conn.close();</textarea></p>
<p>2,参数元数据查询。</p>
<p> <textarea cols="67" rows="15" name="code" class="java">public static void main(String[] args) throws SQLException {
Object[] params = new Object[] { "lisi", 100f };
read("select * from user where name=? and money > ?", params);
}
static void read(String sql, Object[] params) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
ps = conn.prepareStatement(sql);
// ParameterMetaData pmd = ps.getParameterMetaData();
// int count = pmd.getParameterCount();
for (int i = 1; i <= params.length; i++) {
// System.out.print(pmd.getParameterClassName(i) + "\t");
// System.out.print(pmd.getParameterType(i) + "\t");
// System.out.println(pmd.getParameterTypeName(i));
ps.setObject(i, params[i - 1]);
}
rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + "\t"
+ rs.getString("name") + "\t" + rs.getDate("birthday")
+ "\t" + rs.getFloat("money"));
}
} finally {
JdbcUtils.free(rs, ps, conn);
}
}</textarea></p>
本文介绍了如何使用Java获取数据库元数据和参数元数据,包括通过JDBC连接数据库并调用相应的方法来获取数据库产品名称、是否支持事务等功能,并展示了如何读取带有参数的SQL查询。
JDBC元数据&spm=1001.2101.3001.5002&articleId=81719243&d=1&t=3&u=c5a294387433450db13750a6e52fc4ce)
828

被折叠的 条评论
为什么被折叠?



