gpt4 book ai didi

java - Hibernate 中 NamedParameterJDBCtemplate rowmapper 的替代方案

转载 作者:太空宇宙 更新时间:2023-11-04 07:20:15 25 4
gpt4 key购买 nike

我必须在 Hibernate 中转换以下 NamedSqlParameterSource:-

    final List<MenuActionMapping>  menusList;


MapSqlParameterSource sqlParams = new MapSqlParameterSource();


menusList = namedParameterJdbcTemplate.query("call sp_proc()",sqlParams ,new RowMapper<MenuActionMapping>() {
@Override
public MenuActionMapping mapRow(ResultSet resultset, int i)
throws SQLException {

MenuActionMapping menuActionMapping=new MenuActionMapping();


menuActionMapping.setMenuKey(resultset.getString("KMM_MENU_KEY"));

menuActionMapping.setDisplayName(resultset.getString("KMM_DISPLAY_NAME"));
menuActionMapping.setMenuActionFlag(resultset.getInt("KMM_ACTION_FLAG"));
menuActionMapping.setMenuActive(resultset.getInt("KMM_ACTIVE"));
menuActionMapping.setMenuLevel(resultset.getInt("str_len"));

String str=resultset.getString("menu_actions");

String [] actions=str.split(",");
if(resultset.getInt("KRMM_ACTIVE")==1)
{
menuActionMapping.setActive(true);
}
else
{
menuActionMapping.setActive(false);
}

for(String strAct:actions)
{
if(strAct.equals("ADD"))
{
menuActionMapping.setAddCheckBox(true);
menuActionMapping.setAddCheckBoxDisabled("true");
}
if(strAct.equals("VIEW"))
{
menuActionMapping.setViewCheckBox(true);
menuActionMapping.setViewCheckBoxDisabled("true");
}
if(strAct.equals("DELETE"))
{
menuActionMapping.setDeleteCheckBox(true);
menuActionMapping.setDeleteCheckBoxDisabled("true");
}

if(strAct.equals("EDIT"))
{
menuActionMapping.setEditCheckBox(true);
menuActionMapping.setEditCheckBoxDisabled("true");
}
if(strAct.equals("DOWNLOAD"))
{
menuActionMapping.setDownloadCheckBox(true);
menuActionMapping.setDownloadCheckBoxDisabled("true");
}

}

return menuActionMapping;
}
});
System.out.println(menusList);

return menusList;

我不知道namedJdbcTemplate 和Map Row 是如何工作的,所以我遇到了问题..我还在 hibernate 中编写了替代代码,但它不起作用:-

                    final List<MenuActionMapping> menusList; 

Query query= getSession().createSQLQuery("call kyc.sp_proc()");

menusList=query.list();
System.out.println(menusList);
return menusList;

我想我没有设置 MenuAction 映射对象,那么如何达到目的?

另外,我想在将其设置到对象之前操作列,我如何在 hibernate 状态下做到这一点......

困扰我的主要代码是:-

String str=resultset.getString("menu_actions");
String [] actions=str.split(",");
if(resultset.getInt("KRMM_ACTIVE")==1)
{
menuActionMapping.setActive(true);
}
else
{
menuActionMapping.setActive(false);
}

for(String strAct:actions)
{
if(strAct.equals("ADD"))
{
menuActionMapping.setAddCheckBox(true);
menuActionMapping.setAddCheckBoxDisabled("true");
}
if(strAct.equals("VIEW"))
{
menuActionMapping.setViewCheckBox(true);
menuActionMapping.setViewCheckBoxDisabled("true");
}
if(strAct.equals("DELETE"))
{
menuActionMapping.setDeleteCheckBox(true);
menuActionMapping.setDeleteCheckBoxDisabled("true");
}

if(strAct.equals("EDIT"))
{
menuActionMapping.setEditCheckBox(true);
menuActionMapping.setEditCheckBoxDisabled("true");
}
if(strAct.equals("DOWNLOAD"))
{
menuActionMapping.setDownloadCheckBox(true);
menuActionMapping.setDownloadCheckBoxDisabled("true");
}

如何在 hibernate 中设置基于1列的多个属性...

最佳答案

namedJdbcTemplate 可帮助您减少获取、关闭连接等样板代码,而行映射器可帮助您迭代返回的结果集并将其映射到所需的 Java 类。
检查这个http://www.mkyong.com/hibernate/how-to-call-store-procedure-in-hibernate/

关于java - Hibernate 中 NamedParameterJDBCtemplate rowmapper 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com