个性化阅读
专注于IT技术分析

带有Hibernate的Web应用程序(使用XML)

在这里, 我们将使用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="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

它将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 Web应用程序示例1
Hibernate JSP示例1

下载

赞(0)
未经允许不得转载:srcmini » 带有Hibernate的Web应用程序(使用XML)

评论 抢沙发

评论前必须登录!