在这里, 我们将使用hibernate创建一个Web应用程序。为了创建Web应用程序, 我们将JSP用于表示逻辑, 将Bean类用于表示数据, 将DAO类用于数据库代码。
在hibernate中创建简单应用程序时, 无需在hibernate中执行任何额外的操作即可创建Web应用程序。在这种情况下, 我们将使用JSP文件从用户那里获得价值。
使用Hibernate创建Web应用程序的示例
在此示例中, 我们将在数据库中插入用户的记录。这只是一张注册表。
index.jsp
该页面从用户那里获取输入, 并使用post方法将其发送到register.jsp文件。
<
form action="register.jsp" method="post">
Name:<
input type="text" name="name"/>
<
br>
<
br/>
Password:<
input type="password" name="password"/>
<
br>
<
br/>
Email ID:<
input type="text" name="email"/>
<
br>
<
br/>
<
input type="submit" value="http://www.srcmini.com/register"/>
"<
/form>
register.jsp 该文件获取所有请求参数, 并将此信息存储到User类的对象中。此外, 它通过User类对象调用UserDao类的register方法。
<
%@page import="com.srcmini.mypack.UserDao"%>
<
jsp:useBean id="obj" class="com.srcmini.mypack.User">
<
/jsp:useBean>
<
jsp:setProperty property="*" name="obj"/>
<
%
int i=UserDao.register(obj);
if(i>
0)
out.print("You are successfully registered");
%>
User.java 它是表示Hibernate中Persistent类的简单bean类。
package com.srcmini.mypack;
public class User {
private int id;
private String name, password, email;
//getters and setters}
user.hbm.xml 【带有Hibernate的Web应用程序(使用XML)】它将User类与数据库表进行映射。
<
?xml version='1.0' encoding='UTF-8'?>
<
!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 5.3//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-5.3.dtd">
<
hibernate-mapping>
<
class name="com.srcmini.mypack.User" table="u400">
<
id name="id">
<
generator class="increment">
<
/generator>
<
/id>
<
property name="name">
<
/property>
<
property name="password">
<
/property>
<
property name="email">
<
/property>
<
/class>
<
/hibernate-mapping>
UserDao.java Dao类, 包含用于存储User类实例的方法。
package com.srcmini.mypack;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class UserDao {public static int register(User u){
int i=0;
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory factory = meta.getSessionFactoryBuilder().build();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
i=(Integer)session.save(u);
t.commit();
session.close();
return i;
}
}
hibernate.cfg.xml 它是一个配置文件, 包含有关数据库和映射文件的信息。
<
?xml version='1.0' encoding='UTF-8'?>
<
!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 5.3//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-5.3.dtd">
<
hibernate-configuration>
<
session-factory>
<
property name="hbm2ddl.auto">
create<
/property>
<
property name="dialect">
org.hibernate.dialect.Oracle9Dialect<
/property>
<
property name="connection.url">
jdbc:oracle:thin:@localhost:1521:xe<
/property>
<
property name="connection.username">
system<
/property>
<
property name="connection.password">
jtp<
/property>
<
property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver<
/property>
<
mapping resource="user.hbm.xml"/>
<
/session-factory>
<
/hibernate-configuration>
输出量
文章图片
文章图片
下载
推荐阅读
- Hibernate双向关联
- 使用xml文件的每个具体类的表
- 第一个没有IDE的Hibernate示例
- 在Eclipse中使用注解的Hibernate示例
- Hibernate教程
- 使用注解按层次结构Hibernate表
- 使用xml文件的每个层次结构的Hibernate表
- 使用XML文件通过Log4j进行Hibernate日志记录
- 使用属性文件通过Log4j进行Hibernate日志记录