java - Spring JPA 从 where 子句中选择
问题描述
我正在使用 Spring JPA 执行所有数据库操作。但是我不知道如何从 Spring JPA 中的表中选择特定的行(通过简单的 WHERE 子句连接)?
例如:
SELECT * FROM user where name=agrawalo AND email=abc@example.com
用户等级:
@Entity
Class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String email;
// Getters and Setters
}
存储库:
public interface UserRepository extends JpaRepository<User, Integer> {
}
解决方案
如果您使用spring-data-jpa
. 您可以编写一个方法名称,spring-data 将根据您的方法名称制定一个查询并获取结果。
public interface UserRepository extends JpaRepository<User, Integer> {
Optional<User> findByNameAndEmail(String name, String email)
}
像上面一样创建一个方法并使用所需的参数调用该方法。
如果您不想(不建议)使用Optional
,您可以使用 User 作为返回类型。在这种情况下,如果没有与您的参数匹配的条目,那么您将返回 null。
推荐阅读
- javascript - Rails 6 + Webpack document.addEventListener 不工作
- bootstrap-4 - 在引导程序上形成两列
- apache-kafka - 缺少嵌入式KafkaCluster?
- java - OffsetDateTime jsonFormat 允许两种类型的模式
- python - 如何将信息从熊猫数据框列映射到一些可视化?
- python - 有人可以告诉我为什么这是错误的吗?
- javascript - chart.js 显示两个日期之间的均匀间隔并将标签添加到 y 轴
- html - CSS 用过渡摇动 gif
- javascript - 在字符串中查找/索引字符对(二合字母、三合字母)
- oop - OOP中不同类型模型的特殊服务