分享

Mysql 插入一条记录后返回ID值

 Blex 2011-05-24
public int insert(String sql) {
  int id = 0;
  Connection conn = null;
  Statement stmt = null;
  Transaction tran = null;
  try {
   Session session = SessionFactory.getSession();
   tran = session.beginTransaction();
   conn = session.connection();
   stmt = conn.createStatement();
   stmt.setEscapeProcessing(false);
   int rows = stmt.executeUpdate(sql);
   if (rows > 0) {
    ResultSet rs = stmt.executeQuery("SELECT last_insert_id()");
    if (rs.next()) {
     id = rs.getInt(1);
    }
    rs.close();
    rs = null;
   }
   tran.commit();
  } catch (SQLException e) {
   tran.rollback();
   e.printStackTrace();
  } finally {
   try {
    if (tran != null) {
     tran = null;
    }
    if (stmt != null) {
     stmt.close();
     stmt = null;
    }
    if (conn != null) {
     conn.close();
     conn = null;
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  return id;
 }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多