如何在 liferay 6.2 中将数据插入数据库?

How to insert data into database in liferay 6.2?

我创建了一个包含两个字段名称和 password.Then 到 jsp 的实体 userdetails,我传递了名称和密码的参数。然后我尝试将相同的内容插入到 database.The 代码中以插入数据,如下所示,这是行不通的..

public void save(ActionRequest request, ActionResponse response) throws SystemException
{
    int id=(int) CounterLocalServiceUtil.increment();
    String name=request.getParameter("name");
    String password=request.getParameter("password");
    System.out.println(name+ " " +password);
    userdetails ud=userdetailsLocalServiceUtil.createuserdetails(id);
    ud.setName(name);
    ud.setPassword(password);
    try {
        userdetailsLocalServiceUtil.adduserdetails(ud);
        //userdetailsPersistence.update(ud,false);
    } catch (SystemException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

jsp的代码如下:-

<portlet:actionURL name="save" var="saveURL"></portlet:actionURL>

<aui:form method="post" action="<%= saveURL.toString() %>">
<aui:input name="name" type="text" />
<aui:input name="password" type="password" />
<aui:button type="submit" value="save" />
</aui:form>

请帮忙..

首先,service.xml(构建服务)中的实体类名遵循正确的命名约定,例如:

<entity name="UserDetails" local-service="true" remote-service="false" table="user_detail">

在您的 UserDetailsLocalServiceImpl.java 中创建一个新方法(如下所示)并重新构建服务:

public UserDetails createUserDetails(String name, String password){

    UserDetails ud = UserDetailsUtil.create(CounterLocalServiceUtil.increment());
    ud.setName(name);
    ud.setPassword(password);
    UserDetails newUd = UserDetailsUtil.update(ud);

    return newUd;
}

这将在 UserDetailsLocalServiceUtil.java 中复制其相关条目。现在您在操作方法中使用该方法,如下所示:

public void save(ActionRequest request, ActionResponse response) throws SystemException {

    String name = request.getParameter("name");
    String password = request.getParameter("password");
    System.out.println(name + " - " + password);

    try {
        UserDetails ud = UserDetailsLocalServiceUtil.createUserDetails(name, password);
        // Do whatever you want after creating new details
    }
    catch(Exception ex) {
         ex.printStackTrace();
    }
}