springboot jpa Query使用原生SQL例子--测试通过

    private EntityManagerFactory emf;

    @PersistenceUnit//使用这个标记来注入EntityManagerFactory
    public void setEntityManagerFactory(EntityManagerFactory emf) {
        this.emf = emf;
    }

    @Test
    public void test(){
        EntityManager em = emf.createEntityManager();
        //加了这句就不会报错
       em.getTransaction().begin();
        Query query = null;
        //定义SQL,可以多个表关联查询
        String sql = "SELECT * FROM USER WHERE ID=?1";
        //创建原生SQL查询QUERY实例
        query =  em.createNativeQuery(sql);
        query.setParameter(1, "2014344154");
        //执行查询,返回的是对象数组(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]...取出属性             
            System.out.println("id = " + obj[0]);
            System.out.println("name = " + obj[1]);
            System.out.println("age = " + obj[2]);
               
        }
        em.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值