zoukankan      html  css  js  c++  java
  • 获取刚插入的主键




            StringBuffer sql = new StringBuffer(" insert into tbe_paper(jointime,papername)values(?,?) ");
        
            Connection con = null;
            PreparedStatement pstmt = null;
            ResultSet  rs=null;
            int result=0;
            List<PaperModel> list=new ArrayList<PaperModel>();
            PaperModel  model=null;
            try {
                con = JdbcUtils.createInstance().getCon();
                pstmt = con.prepareStatement(sql.toString(),Statement.RETURN_GENERATED_KEYS);
            
                pstmt.setLong(1, System.currentTimeMillis());
                pstmt.setString(2, "试卷");
                pstmt.executeUpdate();
                
                rs = pstmt.getGeneratedKeys();
                if(rs.next()){
                  System.out.println(rs.getInt(1));
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                JdbcUtils.release(con, pstmt, rs);
            }
       

    第二个案例:
            boolean  b=false;
            Connection  conn=null;
            PreparedStatement st=null;
            ResultSet rs=null;
            QuestionModel  model=null;
            int result=-1;
            try {
                conn=JdbcUtils.createInstance().getCon();
                boolean autoCommit=conn.getAutoCommit();
                //关闭自动提交功能
                conn.setAutoCommit(false);
                String sql="insert into t_paper(jointime,papername)values(?,?)";
                st=conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
                st.setLong(1,System.currentTimeMillis());
                st.setString(2, paper.getPaperName());
                st.executeUpdate();
                rs=st.getGeneratedKeys();
                if(rs.next()){
                    result=rs.getInt(1);
                }else{
                    return b;
                }
                sql="insert into t_paper_questions(title,options,"
                        + "answer,type,point,qid,paperid)values(?,?,?,?,?,?,?)";
                st=conn.prepareStatement(sql);
                for (int i = 0; i < questions.size(); i++) {
                    model=questions.get(i);
                    st.setString(1, model.getTitle());
                    st.setString(2, model.getOptions());
                    st.setString(3, model.getAnswer());
                    st.setString(4, model.getType());
                    st.setInt(5, model.getPoint());
                    st.setInt(6, i+1);
                    st.setInt(7, result);
                    st.addBatch();
                }
                int [] arr=st.executeBatch();
               
                if(arr==null || arr.length==0){
                    return b;
                }
                //提交事务
                conn.commit();
                b=true;
                //恢复原来的提交模式
                conn.setAutoCommit(autoCommit);
            } catch (SQLException e) {
                System.out.println("操作失败!!!任务撤销!!!");
                try {
                    conn.rollback();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
            }finally{
                JdbcUtils.release(conn, st, rs);
            }
            return b;
       

  • 相关阅读:
    分析函数之keep函数
    分析函数之开窗函数over
    分析函数之rollup、cube函数
    LEFT JOIN ON AND 和LEFT JOIN ON WHERE区别
    【greenplum】gp客户端
    【greenplum】greenplum的plpgsql:函数,存储过程,赋值语句,DML语句,静态语句与动态语句,流程控制语句
    【oracle】oracle 静态语句与动态语句
    【oracle】linux下卸载oracle11方法
    【DB2】DB2安装
    【oracle】查看字符占用字节数
  • 原文地址:https://www.cnblogs.com/gwq369/p/5829970.html
Copyright © 2011-2022 走看看