hibernate框架内部采用xml、java reflection等技术来实现对象/关系映射功能。
它内部封装了jdbc访问数据库的操作。
hibernate的核心类:
SessionFactory类是对应单一数据库的、已编译映射文件的、线程安全的、不可变的高速缓存。是产生Session的工厂类。
Session接口负责保存,更新,删除,加载和查询对象,其中封装了一个JDBC连接。
Transaction对象是由Session产生的。生命周期比Session短,一个Session周期内可以有多个Transaction对象。Connection Provider主要生产与数据库建立了连接的JDBC对象,同时作为数据库连接的缓存池。
工作流程:
本实例是在struts实现的登录系统基础上增加hibernate功能
项目结构图:
修改的有业务逻辑类:
package com.qdu.struts.BO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import org.hibernate.Transaction;
import com.qdu.hibernate.User;
import com.qdu.hibernate.UserDAO;
public class LoginBO {
public boolean validate(String username, String password) {
// Connection conn = null;
// try {
// Class.forName("org.gjt.mm.mysql.Driver");
// String url = "jdbc:mysql://localhost:3306/junit";
// conn = DriverManager.getConnection(url,"root","root");
// Statement stmt = conn.createStatement();
// String sql = "select * from usertable where name='"+username+"' and password = '"+password+"'";
//
// ResultSet rs = stmt.executeQuery(sql);
// if(rs.next()){return true;}
// else return false;
//
//
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException e) {
// e.printStackTrace();
// }
//
// return false;
// --------使用hibernate时---------------
// 按照JAVA EE规范的规定,一个标准的
UserDAO dao = new UserDAO();
Transaction tx = dao.getSession().beginTransaction();
User user = new User();
user.setName(username);
user.setPassword(password);
List list = dao.findByExample(user);
tx.commit();
if(list.size()>0) return true;
else return false;
}
}
hibernate配置文件hibernate.cfg.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/junit
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">
org.gjt.mm.mysql.Driver
</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
org.gjt.mm.mysql.Driver
</property>
<property name="show_sql">true</property>
<mapping resource="com/qdu/hibernate/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
对象映射文件User.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.qdu.hibernate.User" table="usertable" catalog="junit">
<id name="id" type="java.lang.Integer">
<column name="Id" />
<generator class="increment" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="256" />
</property>
<property name="password" type="java.lang.String">
<column name="password" />
</property>
</class>
</hibernate-mapping>
程序源码见附件:
- 大小: 100 KB
- 大小: 31.4 KB
- 大小: 38.8 KB
分享到:
相关推荐
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...
【标题】"jsp+JavaScript+struts+hibernate+css+mysql的网上书店"是一个基于Java技术栈的Web应用程序示例,它整合了多种技术来实现一个完整的网上书店系统。这个项目涉及到的主要技术包括: 1. **JSP(JavaServer ...
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
这个系统的核心架构是使用了经典的Java企业级开发框架组合:Struts、Hibernate、Spring以及Oracle数据库。接下来,我们将详细讨论这些技术在车辆管理系统中的作用和相关知识点。 1. Struts: Struts是Apache组织...
【基于Struts+Hibernate+Spring的用户管理系统】是一种常见的企业级Web应用架构,它整合了三个主流的Java技术框架,以构建高效、可维护性高的系统。Struts提供了MVC(Model-View-Controller)设计模式,使得业务逻辑...
《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要...
网上图书系统是一个基于Web的应用程序,它整合了Struts、Hibernate和JSP三大技术,用于实现在线图书管理和销售的功能。这个系统通常包含用户界面、业务逻辑层和数据持久化层,下面将详细介绍这三个核心技术及其在...
**JSP+Struts+Hibernate办公自动化管理系统** 这个系统是一个基于Java Web技术的办公自动化解决方案,采用经典的MVC(Model-View-Controller)设计模式,利用JSP、Struts和Hibernate三大技术栈来构建。这样的架构...
《开发者突击:Java Web主流框架整合开发(J2EE+Struts+...随书附赠光盘内容包括《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》10种架构原型程序包、个人通讯录及办公自动化系统源程序。
本项目是一个基于Struts和Hibernate实现的在线商城系统,具有完整的功能和良好的架构设计。 Struts是一个用于构建MVC(Model-View-Controller)架构的框架,它的主要目标是简化Web应用的开发过程,提高代码的可维护...
Myeclipse完美运行的一个商城销售系统,支持后台管理员操作前台修改页面。增加商品,修改商品分类,修改会员,订单查询等。 使用的Strurs2+hibernate+jsp技术,Mysql的数据库,已有数据库sql,导入直接运行!功能非常...
使用了Struts+Hibernate+Spring来构建整个网站。 布局使用了CSS和DIV。 部署前请修改以下文件: NewReleseSystem\WebRoot\WEB-INF下面的applicationContext.xml文件 修改里面的数据库的用户名和密码为你所安装的...
JSP-车辆管理系统(struts+hibernate+spring+oracle) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! JSP-车辆管理系统(struts+hibernate+spring+oracle) JSP-车辆管理系统(struts+hibernate+spring+oracle) ...
JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA ...
【Struts+Hibernate+Spring 新闻系统】 这个新闻系统是基于经典的Java企业级开发框架——Struts、Hibernate和Spring构建的。这三个框架的整合被称为SSH(Struts2、Hibernate4、Spring4)集成,是Java Web开发中的...
计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+...
总的来说,基于Struts2+Spring+Hibernate+MySql的注册登录系统是利用这些技术协同工作,实现了用户注册、登录的基本功能。Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。...