public Item findById(String id) {
Item result = null;
String s = "SELECT id, key, name, creat, description FROM trackersql WHERE id = :id";
try (Connection connection = init()) {
PreparedStatement statement = connection.prepareStatement(s);
ResultSet resultSet = statement.executeQuery();
while(resultSet.next()) {
Item item = new Item();
statement.setString(1, id);
statement.setString(2, item.getKey());
statement.setString(3, item.getName());
statement.setLong(4, item.getCreat());
statement.setString(5, item.getDescription());
statement.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
try {
DriverManager.registerDriver(new org.postgresql.Driver());
} catch (SQLException e) {
e.printStackTrace();
}
TrackerSQL trackerSQL = new TrackerSQL();
Item item1 = new Item("1", "1", "test1", 1, "test1");
trackerSQL.init();
System.out.println(trackerSQL.findById(item1.getId()));
但我得到以下错误:
我错在哪里?
JDBC不知道命名参数。使用?
重新使用:id
。而且您从不绑定参数
String s = "SELECT id, key, name, creat, description FROM trackersql WHERE id = ?";
try (Connection connection = init()) {
PreparedStatement statement = connection.prepareStatement(s);
statement.setString(1,id)
ResultSet resultSet = statement.executeQuery();
您的代码中还有一个错误:
statement.setString(1, id);
statement.setString(2, item.getKey());
statement.setString(3, item.getName());
statement.setLong(4, item.getCreat());
statement.setString(5, item.getDescription());
statement.executeUpdate();
必须是
Item item = new Item();
item.setId(1, rs.getString(1));
item.setKey(2, rs.getString(2));
return item;
问题内容: 我正在尝试在名为“ abc”的字段中搜索“ efg” c是Collection对象。我没有任何结果。我究竟做错了什么? 问题答案: 您正在生成,但查询应如下所示: 因此,尝试将代码更新为: 请记住,要使用搜索,您需要指定一个索引。查阅说明如何使用该文档的文档:http : //docs.mongodb.org/manual/reference/operator/query/text/
我正在尝试使用vespa构建打字头搜索。由于有很多数据,我不想使用流媒体模式。通配符搜索是我期望看到的,但它看起来仅限于流模式(正则表达式和 match:子字符串仅适用于流模式)。任何关于如何实现它或自定义的指针将不胜感激。
使用JDBC准备语句创建多参数搜索,以防止SQL注入攻击,提高性能。因为我在网上找不到最好的方法。 我试着自己实现如下。 null
问题内容: 如何在JDBC中获取插入ID? 问题答案: 如果它是自动生成的密钥,那么你可以使用它。你需要Statement使用与用于相同的名称进行调用INSERT。首先,你需要创建用于通知JDBC驱动程序以返回键的语句。 这是一个基本示例: 请注意,你是否依赖JDBC驱动程序。当前,大多数最新版本都可以使用,但是如果我没错,Oracle JDBC驱动程序仍然有些麻烦。MySQL和DB2已经支持它很
我想用Java中的JDBC在数据库中插入一条记录(在我的例子中是Microsoft SQL Server)。同时,我想获得insert ID。如何使用JDBC API实现这一点?
我有一个用例,我需要找到客户的分页列表,其中客户看起来像这样: 然后我有了我的存储库界面 我的界面扩展了分页和排序存储库以提供可分页的结果。 我还有一个输入框,用户可以在其中放置任何字符串。现在我想给他一个结果页面,其中包含其中一个字段(任何客户字段)中的输入字符串。 我不想使用命名查询。有没有一种聪明的方法,我可以通过分页和排序存储库来实现这一点,或者我是否需要使用规范接口并实现分页?