JBoss Hibernate 配置与应用

 
JBoss Hibernate 配置与应用
本文以一个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 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 >  
 

<script> render_code(); </script> 

这样我们的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 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 >    

<script> render_code(); </script> 

如果有多个数据库,你可以建多个数据源,然后在jboss-service.xml文件里写上多个mbean,我是这样做的,呵呵,不知道有没有更好的办法
接着我们来写我们的hibernate 文件
在jboss-4.2.0.CR1/jboss-4.2.0.CR1/server/default/deploy/jboss_hibernae.har/目录下新建文件夹org.xredleaf,我们写一个对应数据库的User.java文件:
 
代码
package org.xredleaf;   
  

<script> render_code(); </script>

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 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 >  
 

<script> render_code(); </script> 

好了,这样我们的环境就搭好了!呵呵,喝口茶!
 二、写一个登录页面
进入到jboss-4.2.0.CR1/server/default/deploy/jboss-web.deployer/ROOT.war目录下,新建一个login.jsp,文件如下:
 
代码
< %@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");  //之前配置的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");       
}    
%
>    

<script> render_code(); </script>好了大功告成,我们来启动一下jboss,运行run.bat
打开http://localhost:8080/login.jsp看一下,是不是显示Login success 啊

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值