ParameterMetaData的使用

本文介绍了一种利用ParameterMetaData接口来获取SQL预处理语句中参数信息的方法,并通过一个具体的Java示例演示了如何使用PreparedStatement对象来设置参数并执行查询。

ParameterMetaData pmd =   preparedStatement.getParameterMetaData();

通过 ParameterMetaData可以获得参数信息。

public class ParameterMetaTest {

    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();

//通过ParameterMetaData查看参数的个数其实它也等于params数组的大小

           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);

       }

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值