java 多表查询代码 运行没反应 10C

oracle 表
create table dept(deptno int primary key,dname varchar(20),loc varchar(30));
create table emp(empno int,ename varchar(30),job varchar(20),hiredate date,sal float,comm float
deptno int,mgr int,
primary key(empno),
foreign key(deptno) references dept(deptno),
foreign key(mgr) references emp(empno)
);

部分代码:
private Connection conn;
private PreparedStatement pstmt;
public EmpDAOImpl(Connection conn) {
this.conn=conn;
}
@Override
public boolean doCreate(Emp vo) throws Exception {
String sql="INSERT INTO emp(empno,ename,job,hiredate,sal,comm,mgr,deptno) VALUES(?,?,?,?,?,?,?,?)";
pstmt=this.conn.prepareStatement(sql);

    pstmt.setInt(1, vo.getEmpno());
    pstmt.setString(2, vo.getEname());
    pstmt.setString(3, vo.getJob());
    pstmt.setDate(4, new java.sql.Date(vo.getHiredate().getTime()) );
    pstmt.setDouble(5, vo.getSal());
    pstmt.setDouble(6, vo.getComm());

    Emp mgr=vo.getMgr();
    if(mgr==null)
        pstmt.setNull(7, Types.NULL);
    else
        pstmt.setInt(7, mgr.getEmpno());

    Dept dept= vo.getDept();
    if(dept==null)
        pstmt.setNull(8,Types.NULL);
    else 
        pstmt.setInt(8, dept.getDeptno());
    return pstmt.executeUpdate()>0;

}
为什么运行这个方法时一直运行没出结果

2个回答

什么叫没有结果,你的程序返回的是boolean,无论是否成功都是有结果的。没有结果看看是不是根本没有调用。

检查:
有没有抛异常?
数据库中是否有数据插入?

执行语句还没提交:

 boolean flag=pstmt.executeUpdate()>0;
 this.conn.commit() ;
 return flag;
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问