问题描述
我知道PreparedStatement 能传递一个参数为问号代替,如id=?。但是我想参数本身也用问号来替代,如用?=?来代替id=?,这样可以有更大的灵活性,但是我好想没有试成功。请问真的可以?=?这样吗,或者有其他办法实现这个目的。
解决方案
不可能的,PreparedStatement中只有字段值可以用问号,字段名是固定的,如果你想用动态的where条件,只能写动态sql
解决方案二:
怎么可能呢,sql解析的时候,把?=? 中的一个?解析成数据库中表的字段名,怎么能写?=?呢,不可能
解决方案三:
不行,怎么可能呢?动态参数名,你还是拼SQL吧
时间: 2024-09-14 03:28:22