1.在代码中注入 EntityManager
import javax.persistence.EntityManager; @Autowired EntityManager entityManager; |
2.在方法中具体使用EntityManager
public List<DefColumn> findAllColumns(String table) { Query query = entityManager.createNativeQuery("DESCRIBE " + table); List<Object[]> list = query.getResultList(); List<DefColumn> collect = list.stream().map( arr -> { DefColumn defColumn = defColumnRepo.findByNameEn(String.valueOf(arr[0])); if (defColumn == null){ defColumn = new DefColumn(); defColumn.setNameEn(String.valueOf(arr[0]));//字段名称 defColumn.setType(String.valueOf(arr[1]));//类型 defColumn.setTablename(table); if ("id".equals(arr[0])){ defColumn.setKey(true); } } return defColumn; }).collect(Collectors.toList()); return collect; } |
上面的方法获取到一个表中的所有字段并存到一个对象中,并以list形式返回。