嗨,我有这个托管 bean,它在其中进行 MySQL 查询,这里的问题是 SQL 语句生成“=”条件而不是“LIKE”
这是我的托管 bean 中的代码。
Connection con = ds.getConnection();
try{
if (con == null) {
throw new SQLException("Can't get database connection");
}
}
finally {
PreparedStatement ps = con.prepareStatement(
"SELECT * FROM Clients WHERE Machine LIKE '53'");
//get customer data from database
ResultSet result = ps.executeQuery();
con.close();
List list;
list = new ArrayList();
while (result.next()) {
Customer cust = new Customer();
cust.setMachine(result.getLong("Machine"));
cust.setCompany(result.getString("Company"));
cust.setContact(result.getString("Contact"));
cust.setPhone(result.getLong("Phone"));
cust.setEmail(result.getString("Email"));
//store all data into a List
list.add(cust);
}
return list;
此处的 SELECT 命令不会提取 'Machine' 列中的所有数字,例如 53,但如果我输入一个整数,例如完整的数字 (53544) 代替 53,则结果会被拉起。我很困惑 !!
SELECT * FROM Clients
此外,如果我用整个数据库替换上面的选择语句,则存储在列表中。有任何想法吗 ?