如果数据库中未找到数据,则插入数据,否则更新数据

时间:2016-11-02 11:35:36

标签: java mysql

pstmt = conn.prepareStatement(SLCMQueryConstant.SELECT_ROLE_FOR_MAP);
pstmt.setInt(1, roleid);
pstmt.setInt(2, pageid);

rs = pstmt.executeQuery();

if (rs.next()) {
    PageDTO PageDTo = new PageDTO();
    PageDTo.setRolePageMapID(rs.getInt("Role_Page_Map_ID"));
    System.out.println(rs.getInt("Role_Page_Map_ID"));
    if (rs.getInt("Role_Page_Map_ID") == 0) {
        String query = SLCMQueryConstant.INSERT_INTO_ROLE_PAGE_MAP;
        int count = 1;
        pstmt = conn.prepareStatement(query);
        pstmt.setInt(count++, pageid);
        pstmt.setInt(count++, roleid);
        pstmt.executeUpdate();
        System.out.println(conn.getAutoCommit());
        conn.commit();
    } else {
        String query = SLCMQueryConstant.REUPDATE_INTO_ROLE_PAGE_MAP;
        int count = 1;
        pstmt = conn.prepareStatement(query);
        pstmt.setInt(count++, pageid);
        pstmt.setInt(count++, roleid);
        pstmt.executeUpdate();
        System.out.println(conn.getAutoCommit());
        conn.commit();
    }

}

特别是代码,如果找不到表,则对应于roleid和pageid   然后,如果找到条目,则不执行,然后更新发生。     如果表找不到role_Page_Map_ID?

,如何进行插入操作

1 个答案:

答案 0 :(得分:1)

if (rs.next()) {

     //Do something
}
else {
    INSERT
}