获取参数的元数据信息

本文介绍了一种使用Java JDBC的PreparedStatement来执行带有参数的SQL查询的方法。通过实例展示了如何设置参数并执行查询,同时利用ParameterMetaData获取参数的元数据信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class parameterMedaData {

    public static void main(String[] args) {
        //创建sql语句
        String sql = "select * from user where id >?";
        //创建一个数组
        Object obj[] = new Object[]{3};
        read(sql,obj);
    }

    static void read(String sql,Object obj[]){
        Connection conn=null;
        PreparedStatement ps =null;
        ResultSet rs = null;
        JDBCUtils utils =JDBCUtils.getInstance();
        try {
            conn=utils.getConnection();
            //获取数据库元数据
            DatabaseMetaData dmd = conn.getMetaData();
            System.out.println(dmd.getDatabaseProductName());//获取数据库名
            ps = conn.prepareStatement(sql);
            //获取参数的元数据信息
            ParameterMetaData pmd = ps.getParameterMetaData();
            //获取参数个数,即问号的个数
            int count = pmd.getParameterCount();
            for(int i=1;i<=count;i++){
                //将数组里的元素赋值给对应的问号
                ps.setObject(i, obj[i-1]);
            }
            rs = ps.executeQuery();
            while(rs.next()){
                System.out.print(rs.getObject("username"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值