有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用条件中的Select和where语句

我正在Web应用程序中用hibernate替换jdbc。我已经了解到,我不必在这种情况下编写任何SQL查询。相反,条件查询可以帮助我。 这些是我的SQL查询,我想使用条件而不是HQL将其转换为hibernate

String getOrgIdQuery = "SELECT * FROM USER_DETAILS WHERE USER_ID= ?";
rsDeptName = stmt.executeQuery("SELECT DEPARTMENT_NAME FROM DEPARTMENT WHERE DEPARTMENT_ID ="+ DeptID + ";");
String insertCreateCdcValuesFirst = ("UPDATE User_Details SET User_Name=?, Organization_ID=?, Department_ID=?, Access_Ctrl = ?, User_Role=? WHERE User_ID = ?;");

共 (1) 个答案

  1. # 1 楼答案

    首先,您必须使用POJOS映射表

    String getOrgIdQuery = "SELECT * FROM USER_DETAILS WHERE USER_ID= ?";
    

    Hibernate中前面的代码如下所示

    Criteria criteria = session.createCriteria(USER_DETAILS.class);
    criteria.add(Restrictions.eq("user_id",yourUserId));
    List<USER_DETAILS> list = criteria.list();
    

    您的第二个select查询也与前面相同

    String insertCreateCdcValuesFirst = ("UPDATE User_Details SET User_Name=?, Organization_ID=?, Department_ID=?, Access_Ctrl = ?, User_Role=? WHERE User_ID = ?;");
    

    使用Hibernate Criteria更新如下所示:

    USER_DETAILS user_details = (USER_DETAILES) session.get(USER_DETAILS.class,yourUserId);
    user_details.setUser_Name(NewUserName);
    user_details.setOrganization_Id(newOrganizationId);
    // some other fields update goes here
    session.update(user_details);
    tx.commit();
    

    我希望这对你有帮助