java的各种异常踩坑

java.lang.NullPointerException 空指针异常

原因分析一:注入失败

注入方式一:

@In("#{gatereviewService}")
private GatereviewService gatereviewService;

注入方式二:

@Autowired
private GatereviewService gatereviewService;

检验方式:一般别人怎么注入,你就怎么注入。比方注入了Dao,你在Dao里打断点,它没有进去,那就是注入失败。

 

原因分析二:如果List为空或者对象为空,你用List.get()、对象get属性会抛出空指针异常

如下,List是否总是要判空呢?

String supplierName = (String) session .createSQLQuery(sql.toString()).list().get(0);

List判空

if(list.size()>0) {
	String supplierName=list.get(0);
	return supplierName;
}else {
	return "";
}

有或者

if(list!=null&&!list.isEmpty()&&list.size()>0){

}

 

 

 

 

common.exception.dbexception  db数据库异常

原因:org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session

session中有两个不同的对象拥有同一个标识。

解决办法:干掉冲突变量。

引入sessionFactory

@Autowired
SessionFactory sessionFactory;

导包

import org.hibernate.Session;
import org.hibernate.SessionFactory;

使用session

Session session = sessionFactory.getCurrentSession();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值