Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注册用户并使用struts2和hibernate保存_Hibernate_Struts2 - Fatal编程技术网

注册用户并使用struts2和hibernate保存

注册用户并使用struts2和hibernate保存,hibernate,struts2,Hibernate,Struts2,我想在这里注册一名新员工。问题是这些值没有插入到数据库中。虽然save()保存值的工作是否正确? 我在这里附上我的代码 package net.admin.module.controller; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Transaction; import org.hibernate.clas

我想在这里注册一名新员工。问题是这些值没有插入到数据库中。虽然save()保存值的工作是否正确? 我在这里附上我的代码

package net.admin.module.controller;
import java.util.List;


import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;





import net.admin.module.model.Employee;
import net.admin.module.util.HibernateUtil;

public class EmployeeManager extends HibernateUtil {

    public Employee add(Employee employee) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        session.save(employee);
        session.getTransaction().commit();
        return employee;
    }
    public Employee delete(int id) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Employee employee = (Employee) session.load(Employee.class, id);
        if(null != employee) {
            session.delete(employee);
        }
        session.getTransaction().commit();
        return employee;
    }


        public List<Employee> list() {

        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        List<Employee> employee = null;
        try {

            employee = (List<Employee>)session.createQuery("from Employee").list();

        } catch (HibernateException e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        }
        session.getTransaction().commit();
        return employee;
    }
    }
包net.admin.module.controller;
导入java.util.List;
导入org.hibernate.hibernateeexception;
导入org.hibernate.Query;
导入org.hibernate.Transaction;
导入org.hibernate.classic.Session;
导入net.admin.module.model.Employee;
导入net.admin.module.util.HibernateUtil;
公共类EmployeeManager扩展了HibernateUtil{
公共雇员添加(雇员){
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.save(员工);
session.getTransaction().commit();
返回员工;
}
公共雇员删除(内部id){
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Employee=(Employee)session.load(Employee.class,id);
如果(空!=员工){
删除(雇员);
}
session.getTransaction().commit();
返回员工;
}
公开名单(){
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List employee=null;
试一试{
employee=(List)session.createQuery(“来自employee”).List();
}捕获(休眠异常e){
e、 printStackTrace();
session.getTransaction().rollback();
}
session.getTransaction().commit();
返回员工;
}
}
这是我的EmployeeManager.java类。这是我的控制器

package net.admin.module.view;

import java.util.List;
import net.admin.module.controller.EmployeeManager;
import net.admin.module.model.Employee;
import com.opensymphony.xwork2.ActionSupport;

public class EmployeeAction extends ActionSupport {

    private static final long serialVersionUID = 9149826260758390091L;
    private Employee employee;
    private List<Employee> employeeList;
    private int id;

    private EmployeeManager employeeManager;

    public EmployeeAction() {
        employeeManager = new EmployeeManager();
    }

    public String execute() {
        this.employeeList = employeeManager.list();
        System.out.println("execute called");
        return SUCCESS;
    }



    public String add() {
        System.out.println(getEmployee());
        try {
            employeeManager.add(getEmployee());
        } catch (Exception e) {
            e.printStackTrace();
        }
        this.employeeList = employeeManager.list();
        return SUCCESS;
    }


    public String delete() {
        employeeManager.delete(getId());
        return SUCCESS;
    }

    public Employee getEmployee() {
        return employee;
    }

    public List<Employee> getEmployeeList() {
        return employeeList;
    }

    public void setEmployee(Employee employee) {
        this.employee = employee;
    }

    public void setEmployeeList(List<Employee> employeeList) {
        this.employeeList = employeeList;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}
package net.admin.module.view;
导入java.util.List;
导入net.admin.module.controller.EmployeeManager;
导入net.admin.module.model.Employee;
导入com.opensymphony.xwork2.ActionSupport;
公共类EmployeeAction扩展了ActionSupport{
私有静态最终长serialVersionUID=9149826260758390091L;
私人雇员;
私人名单雇员名单;
私有int-id;
私人雇员经理雇员经理;
公共雇员行动{
employeeManager=新的employeeManager();
}
公共字符串execute(){
this.employeeList=employeeManager.list();
System.out.println(“执行调用”);
回归成功;
}
公共字符串add(){
System.out.println(getEmployee());
试一试{
add(getEmployee());
}捕获(例外e){
e、 printStackTrace();
}
this.employeeList=employeeManager.list();
回归成功;
}
公共字符串删除(){
delete(getId());
回归成功;
}
公共雇员getEmployee(){
返回员工;
}
公共列表getEmployeeList(){
返回员工名单;
}
公共作废集合雇员(雇员雇员){
this.employee=employee;
}
public void setEmployeeList(列表employeeList){
this.employeeList=employeeList;
}
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
}
这是我的EmployeeAction.java类。这是我的动作课

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
    <title>Employee Manager</title>
</head>
<style>
body
 {
 background:Teal;
 }
 </style>
<body>

<h1>Employee Manager</h1>
<s:actionerror/>

<s:form action="add" method="post">
    <s:textfield name="employee.id" label="Id" />
    <s:textfield name="employee.firstName" label="Firstname"/>
    <s:textfield name="employee.lastName" label="Lastname"/>
    <s:textfield name="employee.email" label="Email"/>
    <s:textfield name="employee.phoneNo" label="Phone No."/>
    <s:textfield name="employee.presentAddress" label="Present Address"/>
    <s:textfield name="employee.permanentAddress" label="Permanent Address" />
    <s:textfield name="employee.passportNo" label="Passport No." />
    <s:textfield name="employee.panCardNo" label="Pan Card No." />
    <s:textfield name="employee.designation" label="Designation"/>
    <s:textfield name="employee.age" label="Age" />
    <s:textfield name="employee.gender" label="Gender" />
    <s:textfield name="employee.dob" label="Dob" />
    <s:textfield name="employee.status" label="Status" />
    <s:textfield name="employee.createdOn" label="Created On" />
    <s:textfield name="employee.updatedOn" label="Updated On" />
    <s:textfield name="employee.role" label="Role" />
    <s:textfield name="employee.joiningDate" label="Joining Date" />
    <s:submit value="Add Employee" align="center"/>
</s:form>


<h2>Employee</h2>
<table>
<tr>
    <th>Id</th>
    <th>FirstaName</th>
    <th>LastName</th>
    <th>Email</th>
    <th>Phone No.</th>
    <th>Present Address</th>
    <th>Permanent Address</th>
    <th>Passport No.</th>
    <th>Pan Card No.</th>
    <th>Designation</th>
    <th>Age</th>
    <th>Gender</th>
    <th>Dob</th>
    <th>Status</th>
    <th>Created On</th>
    <th>Updated On</th>
    <th>Role<th>
    <th>Joining Date</th>
    <th>Delete</th>
</tr>
<s:iterator value="employeeList" var="employee">
    <tr>
        <td><s:property value="id"/>
        <s:property value="firstName"/> </td>
        <td><s:property value="lastName"/> </td>
        <td><s:property value="emailId"/></td>
        <td><s:property value="phoneNo"/></td>
        <td><s:property value="presentAddress"/></td>
        <td><s:property value="permanentAddress"/></td>
        <td><s:property value="passportNo"/></td>
        <td><s:property value="panCardNo"/></td>
        <td><s:property value="designation"/></td>
        <td><s:property value="age"/></td>
        <td><s:property value="gender"/></td>
        <td><s:property value="dob"/></td>
        <td><s:property value="status"/></td>
        <td><s:property value="createdOn"/></td>
        <td><s:property value="updatedOn"/></td>
        <td><s:property value="role"/></td>
        <td><s:property value="joiningDate"/></td>
        <td><a href="delete?id=<s:property value="id"/>">delete</a></td>
    </tr>

</s:iterator>
</table> 
</body>

</html>

员工经理
身体
{
背景:水鸭;
}
员工经理
雇员
身份证件
第一名
姓氏
电子邮件
电话号码。
当前地址
永久地址
护照号码。
潘卡号。
任命
年龄
性别
多巴哥
地位
创建于
更新于
角色
加入日期
删除
这是我的jsp-index.jsp。我在这里转发。
我可以在jsp页面中看到插入的值,但它不会被插入到数据库中。

您可以在action类中看到值吗?您总是使用hibernate show_sql来查看发生了什么,启动了什么查询,以及employee对象的每个代码。您使用的是基于批注的映射还是基于xml的映射?数据库连接出现问题。在配置文件中做了一些更改,它就可以工作了!