![]() |
火星上的饼干 · 大兴机场预计15日全面具备开航条件--社会・ ...· 1 年前 · |
![]() |
重感情的桔子 · 刚刚,哈尔滨杀出一个300亿的IPO | 投中网· 1 年前 · |
![]() |
豪气的馒头 · 如何让USB-C手机,电脑投屏到VR眼镜方案 ...· 2 年前 · |
![]() |
慷慨的圣诞树 · 京东联想数据迁移(上门)价格报价行情 - 京东· 2 年前 · |
![]() |
玩手机的硬盘 · 大众为何扶不起ID.4?_36氪· 2 年前 · |
我有以下
SQL Query :
SELECT COUNT(*) FROM DOG where ID = 'SampleId';
我正在尝试用
java
写这段代码:
public int returnCountOfDogTable(String id){
String sql= "SELECT COUNT(*) FROM DOG WHERE ID =:id";
Query query = persistence.entityManager().createNativeQuery(sql);
query.setParameter("id", id);
List<Integer> resultList = query.getResultList();
int result = resultList.get(0);
return result;
}
然而,我得到了这个异常:
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
我该如何解决这个问题呢?
简单地尝试一下:
public int returnCountOfDogTable(String id) {
//...
List<BigDecimal> resultList = query.getResultList();
BigDecimal result = resultList.get(0);
return result.toIntValue();
}
您还可以使用
Number
并调用
intValue()
Query query = entityManager.createNativeQuery("SELECT COUNT(*) FROM DOG WHERE ID =:id");
query.setParameter("id", 1);
int count = ((Number) query.getSingleResult()).intValue();
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@PersistenceContext
protected EntityManager em;
public int getCountQuery(String sql) {
int resultCount = 0;
try {
Query query = em.createNativeQuery(sql);
![]() |
重感情的桔子 · 刚刚,哈尔滨杀出一个300亿的IPO | 投中网 1 年前 |
![]() |
慷慨的圣诞树 · 京东联想数据迁移(上门)价格报价行情 - 京东 2 年前 |
![]() |
玩手机的硬盘 · 大众为何扶不起ID.4?_36氪 2 年前 |