我正在尝试使用 JSF 和 Hibernate 学习 Web 编程。
我的 MySQL 服务器中有一个名为mytable的表,它有 2 列:名称、姓氏
我还有一个映射到这个表的 MyTable.java,它看起来像这样:
// Listing 1
public class MyTable {
private String name;
private String surname;
public MyTable() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
这是通过 Hibernate 映射的,因此这段代码(我已用于测试目的)成功地将数据插入到 mytable:
//Listing 2
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
MyTable myTable = new MyTable();
myTable.setName("Name");
myTable.setSurname("Surname");
session.save(myTable);
session.getTransaction().commit();
这就是我在 index.xhtml 上的表单的样子:
// Listing 3
<h:form id="registirationForm" prependId="false">
<h:outputLabel for="name">Name:</h:outputLabel>
<h:inputText id="name"></h:inputText>
<h:outputLabel for="surname">Surname:</h:outputLabel>
<h:inputText id="surname"></h:inputText>
</h:form>
我的问题是:
如何将我的表单与上面的代码联系起来?
- 我是否应该让 MyTable 类成为托管 bean,并放置一个名为saveRecord的方法并将上面的代码放在那里?
- 它应该映射到其他类吗?如果是这样应该叫什么?我应该将当前 MyTable.java 的名称更改为 MyTableDao.Java 之类的名称吗?
那么当用户输入一些名字和姓氏时,应该调用什么方法呢?
我应该将清单 2 中的代码放在哪里?
我希望我的问题很清楚,感谢您的帮助。