使用原生SQL的原因:
1、由于在DAO中继承Repository,必须使用自定义实体类型;对接其他系统数据库,只做数据查询,并不想在本项目创建实体。
2、使用@Query方法,如果查询条件复杂,并不好用;
创建工具类:
@Component
@Transactional
public class EntityManagerUtil {
static Logger logger = LoggerFactory.getLogger(EntityManagerUtil.class);
@PersistenceContext
private EntityManager entityManager;
//返回map
public List
在Service中引用使用获取列表和分页数据:
@RequiredArgsConstructor
@Service
@Transactional
public class MapServiceImpl implements MapService {
@Autowired
private EntityManagerUtil entityManagerUtil;
// 查询列表
@Override
public List
分页实体:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class LimitDataFO {
private Collection items;
private long total;
private int totalPage;
}