JAVA中2个参数的一个字段
请解释最后一个命令我使用了一个文本字段按姓名或ID搜索客户任何人都可以解释最后一行吗?你的问题不清楚,但如果你想理解:JAVA中2个参数的一个字段,java,mysql,Java,Mysql,请解释最后一个命令我使用了一个文本字段按姓名或ID搜索客户任何人都可以解释最后一行吗?你的问题不清楚,但如果你想理解:pStmt.setString(2,“%”+cid+“%”) 然后将sql查询中的第二个参数设置为cid变量的值,并在其周围添加% 在周围添加%表示类似于“任意字符”的SQL,因此具有%cid%表示其中包含cid的任何内容 由于实际查询对custId或firstName使用cid,这意味着它查找具有特定id的用户,或者在其firstName中具有id 这很奇怪,看起来更像是一个b
pStmt.setString(2,“%”+cid+“%”)代码>
然后将sql查询中的第二个参数设置为cid变量的值,并在其周围添加%
在周围添加%
表示类似于“任意字符”的SQL,因此具有%cid%
表示其中包含cid的任何内容
由于实际查询对custId或firstName使用cid,这意味着它查找具有特定id的用户,或者在其firstName中具有id
这很奇怪,看起来更像是一个bug,而不是一个逻辑查询,但它可能来自旧的遗留系统,名字中有一些id,谁知道呢,你的问题不清楚,解释一下吧properly@Masud是的,cid是一个变量,在查询中将被其值替换。这只是一个简单的解释,我希望大家都知道变量名和变量值的概念;)
public ArrayList searchCustomer(String cid) throws SQLException {
ArrayList searchCustList = new ArrayList();
PreparedStatement pStmt = connection.prepareStatement("select * from customer where (custID = ? OR firstName LIKE ?)");
pStmt.setString(1, cid);
pStmt.setString(2, "%" + cid + "%");