问答详情
源自:2-3 JDBC实战---搭建模型层 Ⅰ

请问JDBC如果想要在sql语句中用变量改怎么办?

比如select name from person where 某一变量=...,这里如果需要用变量来表示列名该怎么写啊,多谢各位大佬们

提问者:宝慕林4765958 2017-12-21 20:01

个回答

  • 慕侠6582840
    2017-12-22 12:33:52

    课程不是讲了吗

    preparedStatement 中预编译的sql语句可以用占位符"?"来表示,然后后面在用setObj(位置,值)来赋予sql中的值

    注意类型要对应

    把定义方法添加个形参就行了

    你需要的修改的变量i

    add(Type  i){

     Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);

    String sql="select name from person where name =? ";

    PreparedStatement  stmt=conn.preparedStatement(sql);

    stmt.setType(1,i.);//对应sql第一个"?"的位置 ,如果有很多个参数的话 ,对应设置就行了,下标从1开始

    }