JBoss Hibernate 配置与应用
作者:萧红叶 2007年4月4日
本文以一个jboss_hibernate为例介绍怎么把hibernate部署成一个jboss的service,然后用hibernate 去操作数据库。
配置开发环境
在进行开发之前,需要首先获得JBoss、MySQL、相应数据库的JDBC驱动类库。JBoss可以从www.jboss.org中下载,MySQL 从www.mysql.org 下载
解压jboss到一个文件夹,我们把mysql的jdbc驱动复制到jboss-4.2.0.CR1\server\default\lib下
然后我们配置一个mysql的数据源,从jboss-4.2.0.CR1\docs\examples\jca目录下复制一份mysql-ds.xml到jboss-4.2.0.CR1\server\default\deploy目录下,接着修改它的内容,我修改的如下:
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
-
- <datasources>
- <local-tx-datasource>
- <jndi-name>MySqlDS</jndi-name> //jndi名字
- <use-java-context>false</use-java-context>
- <connection-url>jdbc:mysql://10.16.175.137:3306/test</connection-url> //URL地址
- <driver-class>com.mysql.jdbc.Driver</driver-class> //驱动
- <user-name>root</user-name> //用户名
- <password>123456</password> //密码
- <exception-sorter-class-name>
- org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
- </exception-sorter-class-name>
- <metadata>
- <type-mapping>mySQL</type-mapping>
- </metadata>
- </local-tx-datasource>
- </datasources>
-
这样我们的mysql数据源就配置好了,接下来我们来做一个jboss_hibernate.har文件
进入到jboss-4.2.0.CR1\jboss-4.2.0.CR1\server\default\deploy 新建一个jboss_hibernate.har文件夹,该目录下放的将是你的POJO 文件和对应的.hbm.xml文件以及jboss-service.xml文件。
在jboss_hibernate.har目录新建一个文件夹META-INF,在该目录下我们来写一个jboss-service.xml文件,代码如下:
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <server>
- <mbean code="org.jboss.hibernate.jmx.Hibernate" name="jboss.har:service=Hibernate">
- <attribute name="DatasourceName">MySqlDS</attribute> //数据源名字
- <attribute name="Dialect">org.hibernate.dialect.MySQLDialect</attribute> //对应hibernate的Dialect
- <attribute name="SessionFactoryName">java:/hibernate/SessionFactory</attribute> //sessionFactory的jndi名字
- <attribute name="ShowSqlEnabled">true</attribute> //在控制台输出sql语句
- <attribute name="ScanForMappingsEnabled">true</attribute> //自动搜索mapping文件
- </mbean>
- </server>
-
接着我们来写我们的hibernate 文件
在jboss-4.2.0.CR1\jboss-4.2.0.CR1\server\default\deploy\jboss_hibernae.har\目录下新建文件夹org.xredleaf,我们写一个对应数据库的User.java文件:
java 代码
- package org.xredleaf;
-
- import java.io.Serializable;
-
- public class User implements Serializable
- {
- private String id;
- private String name;
- private int age;
- public User(){
-
- }
- public void setId(String id){
- this.id=id;
- }
- public String getId(){
- return id;
- }
- public void setName(String name){
- this.name=name;
- }
- public String getName(){
- return name;
- }
- public void setAge(int age){
- this.age=age;
- }
- public int getAge(){
- return age;
- }
- }
然后将它编译成User.class文件
接着我们写XML映射文件User.hbm.xml 文件:
xml 代码
- <?xml version='1.0' encoding='utf-8'?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <class name="org.xredleaf.User" table="user" >
- <id name="id" column="id" type="java.lang.String" >
- <generator class="uuid.hex"/>
- </id>
- <property name="name" column="name" type="java.lang.String" />
- <property name="age" column="age" type="java.lang.Integer" />
- </class>
- </hibernate-mapping>
好了,这样我们的环境就搭好了!呵呵,喝口茶!
二、写一个登录页面
进入到jboss-4.2.0.CR1\server\default\deploy\jboss-web.deployer\ROOT.war目录下,新建一个login.jsp,文件如下:
java 代码
- <%@page contentType="text/html;charset=GB2312" %>
- <%
- javax.naming.InitialContext ctx = new javax.naming.InitialContext();
- org.hibernate.SessionFactory factory = (org.hibernate.SessionFactory)ctx.lookup("java:/hibernate/SessionFactory");
- org.hibernate.Session se = factory.openSession();
- org.hibernate.Query query=se.createQuery("from org.xredleaf.User user where user.id='111' ");
- java.util.List results=query.list();
- java.util.ListIterator iterator=results.listIterator();
- if(iterator.hasNext()){
- org.xredleaf.User user=(org.xredleaf.User)iterator.next();
- session.setAttribute("user",user);
- out.print("Login success");
- }
-
- %>
好了大功告成,我们来启动一下jboss,运行run.bat
打开http://localhost:8080/login.jsp看一下,是不是显示Login success 啊
分享到:
相关推荐
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
然后,第2章大体上给出JBoss应用服务器的目录结构、主要配置文件以及服务。最后,第3章介绍了本书待使用的、J2EE Tutorial中的代码。 接下来,第4章将研究,Sun J2EE Tutorial中Duke银行应用如何在JBoss上部署。这将...
1.6. 一个完整的Seam 应用程序:宾馆预订范例............................................................................................................ 45 1.6.1. 介绍......................................
给出 JBoss 应用服务器的目录结构、主要配置文件以及服务。最后,第 3章介绍了本书待使 用的、J2EE Tutorial 中的代码。 接下来,第 4 章将研究,Sun J2EE Tutorial 中 Duke 银行应用如何在 JBoss 上部署。这 将...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
本示例利用JBoss提供的JAAS支持,通过很简单的代码实现了登录和访问控制,能够很好的从一个应用移植到另一个应用(当然仅限JBoss环境),只要修改一些xml和数据库的配置就可以了。 本示例用了一些hibernate的东西读取...
2.1.3 Hibernate配置和启动 2.1.4 运行和测试应用程序 2.2 启动Java Persistence项目 2.2.1 使用Hibernate Annotations 2.2.2 使用Hibernate EntityManager 2.2.3 引入EJB组件 2.2.4 切换...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到CUSTOMERS表 3.5 通过...
1.Hibernate配置向导: 根据数据库的sql脚本自动产生 Hibernate配置文件和java类代码. 2.Struts action向导: 根据jsp文件中的表单内容自动生成的form类和action类的代码.并修改struts-config.xml配置文件. 3.直接...
父项目中,根据Maven的规范,配置了相关依赖包的引用,包括:Jbpm4.4的引用包引用、Junit4.9的测试包引用,hibernate的引用包,以及应用服务器Jboss的Client引用等。 接口中,提供了部署流程、创建实例、获得当前...
1.Hibernate配置向导: 根据数据库的sql脚本自动产生 Hibernate配置文件和java类代码. 2.Struts action向导: 根据jsp文件中的表单内容自动生成的form类和action类的代码.并修改struts-config.xml配置文件. 3.EJB...
spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...
如果运行一切正常,那么你会看到使用EJB 3.0组件与JPA技术层技术完成的Hello world演示应用。 注意:配置JBoss服务器和调试的动作参见readme.txt文档,有详细说明怎样匹配连接池,以及可能遇到的问题及解决办法。该...
课程主要内容 Web层应用(JSP,Servlet,JSTL) Struts,Spring,Hibernate框架 J2EE应用服务器的配置使用。(tomcat、jboss) EJB部分(EJB 2.X ,EJB3)
LobHandler必须注入到Hibernate会话工厂sessionFactory中,因为sessionFactory负责产生与数据库交互的Session。LobHandler的配置如代码 5所示: 代码 5 Lob字段的处理句柄配置 1. 2. … 3. 4. class="org....
Cache是一种用于提高系统...OSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持。 Oscache的使用非常方便,特别是jsp cache用的非常广泛。Oscache的文档中也对jsp cache tag的配置有详细说明。