Bootstrap

SpringBoot+SpringDataJPA项目中使用EntityManager执行复杂SQL

import javax.annotation.Resource;
import javax.persistence.EntityManager;

@Resource
private EntityManager entityManager;

   //1. 查询数据
    public List<Object[]> getAllPersons() {
        String sql = "SELECT * FROM table_name";
        return entityManager.createNativeQuery(sql).getResultList();
    }

    // 2.带条件查询:entity_table是表名,status是表字段名
     public List<EntityTable> findObjects(String status) {
        String sql = "SELECT * FROM entity_table WHERE status = :status";
        return entityManager.createNativeQuery(sql, EntityTable.class)
                .setParameter("status", status)
                .getResultList();
    }

   // 3.更新数据
    public void updateTable(String param1, int param2) {
        String sql = "UPDATE table_name SET field1= ? WHERE field_id= ?";
        entityManager.createNativeQuery(sql)
                .setParameter(1, param1)
                .setParameter(2, param2)
                .executeUpdate();
    }

;