JPA调用EntityManageer实现
JPA调用EntityManageer:
我们在上篇中使用过JPA其中一种方案来访问数据库,就是继承JpaRepository接口,今天我们使用另一种方案来实现JPA的访问数据库。所需要引用的依赖和上篇是一致的,包括实体类的创建在这就不写第二遍了,我们直接看DAO层如何实现.
首先,我们先写一个接口定义查询方法:
public interface JpaEntity {
List<Address> findAll();
Address findAddress(Long addressId);
}
然后我们再写一个实现类来实现这个接口:
@Repository
public class JpaEntityImpl implements JpaEntity {
@PersistenceContext
private EntityManager entityManager;
@Override
public List<Address> findAll() {
return this.entityManager.createQuery("select t from Address t",Address.class)
.getResultList();
}
@Override
public Address findAddress(Long addressId) {
return this.entityManager.createQuery("select t from Address t where t.addressId = ?",Address.class)
.setParameter(1,addressId)
.getSingleResult();
}
}
之后我们先给实体类重写toString方法,便于后面结果的查看: