实体类 User ,字段name, age, email. 对应数据库为 t_user.
package com.boot.Repository; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import java.util.List; @Repository public class JpaTest { @PersistenceContext private EntityManager em; /** * 查询的结果是对象数组的集合 */ public void JpaTest1() { //定义SQL String sql = "SELECT * FROM t_user"; //创建原生SQL查询QUERY实例 Query query = em.createNativeQuery(sql); //执行查询,返回的是对象数组(Object[])列表, //每一个对象数组存的是相应的实体属性 List objecArraytList = query.getResultList(); for (int i = 0; i < objecArraytList.size(); i++) { Object[] obj = (Object[]) objecArraytList.get(i); //使用obj[0],obj[1],obj[2]...取出属性 } em.close(); } /** * 查询的结果是实体的集合 */ public void JpaTest2() { //定义SQL String sql = "SELECT * FROM t_user"; //创建原生SQL查询QUERY实例,指定了返回的实体类型 Query query = em.createNativeQuery(sql, User.class); //执行查询,返回的是实体列表, List<User> userList = query.getResultList(); em.close(); } /** * 查询单个属性 * 返回的是这个属性值的集合 */ public void JpaTest3() { //定义SQL String sql = "SELECT t.name FROM t_user t"; //创建原生SQL查询QUERY实例 Query query = em.createNativeQuery(sql); //执行查询,返回的是String类型的集合,因为name这个属性是String类型 List<String> resultList = query.getResultList(); em.close(); } /** * 查询多个属性 * 返回的是这些属性值的数组的集合 */ public void JpaTest4() { //定义SQL String sql = "SELECT t.name,t.age,t.email FROM t_user t"; //创建原生SQL查询QUERY实例 Query query = em.createNativeQuery(sql); //执行查询,返回的是查询属性值数组的集合 List objecArraytList = query.getResultList(); for (int i = 0; i < objecArraytList.size(); i++) { Object[] obj = (Object[]) objecArraytList.get(i); //使用obj[0],obj[1],obj[2]取出属性 } em.close(); } }