documentation
.HELP!
J2EE Documentation
JR - 精品文章 - 利用weblogic的数据源作为hibernate的数据源的例子
J2EE
previous page
next page
利用weblogic的数据源作为hibernate的数据源的例子
Jagie
原创 (参与分:90219,专家分:2595) 发表:2003-11-03 16:42 更新:2003-11-04 08:03 版本:1.0 阅读:
7617
次
在网上,我们可以看到许多关于hibernate入门的例子,但是好多是让hibernate自己管理连接池的。我在这里给出一个直接利用weblogic 发布的数据源的例子。步骤如下
1.写一个准备用于持久化的类
package
com.jagie.business.organization;
import
java.io.
Serializable
;
/**
* <p>Title: </p>
* <p>Description: 权限</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: www.jagie.com</p>
* @author Jagie
* @version 1.0
*/
public
class
Permission
implements
Serializable
{
private
String
ID;
//pk
private
String
name;
//名称
private
String
description;
//描述
private
String
module;
//模块id
private
String
power;
//权值,$分隔的操作id例如:browse$add$delete$change
private
int
scope;
//范围,0:本人,1:本单位,2:所有单位
public
static
void
main(
String
[] args) {
}
public
String
getID() {
return
ID;
}
public
void
setID(
String
ID) {
this
.ID = ID;
}
public
String
getName() {
return
name;
}
public
void
setName(
String
name) {
this
.name = name;
}
public
String
getDescription() {
return
description;
}
public
void
setDescription(
String
description) {
this
.description = description;
}
public
String
getModule() {
return
module;
}
public
void
setModule(
String
module) {
this
.module = module;
}
public
String
getPower() {
return
power;
}
public
void
setPower(
String
power) {
this
.power = power;
}
public
int
getScope() {
return
scope;
}
public
void
setScope(
int
scope) {
this
.scope = scope;
}
}
2.编写一个xml文件,名称为Permission.hbm.xml,一定要确保在运行时该xml文件和Permission.class在一起
[pre]<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.jagie.business.organization.Permission" table="SYS_Permission">
<id name="ID">
<generator class="uuid.hex"/>
</id>
<property name="name"/>
<property name="module"/>
<property name="description"/>
<property name="power"/>
<property name="scope"/>
</class>
</hibernate-mapping>[/pre]
3.在weblogic 上配置连接池和数据源,我的数据源的jndi名字为OilDS
4.修改classpath下的hibernate.properties文件,并保存
a.添加一行:hibernate.dialect net.sf.hibernate.dialect.OracleDialect
b.找到JNDI Datasource这一段,在下面设置hibernate.connection.datasource OilDS
c.找到Plugin ConnectionProvider部分,去掉hibernate.connection.provider_class
net.sf.hibernate.connection.DatasourceConnectionProvider一句的注释
d.找到 Transaction API部分,去掉hibernate.transaction.manager_lookup_class
net.sf.hibernate.transaction.WeblogicTransactionManagerLookup一句的注释
e.保存修改
5.在类路径中编写一个jndi.properties文件,为了考虑灵活性,防止硬编码,该文件非常重要,内容如下
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://localhost:7001(我的weblogic服务器就在本机上,也许你的需要适当修改)
6.好啦,万事俱备,让我们写一个Test类来测试一下hibernate的威力好了,原码如下.
package
com.jagie.business.organization;
import
net.sf.hibernate.Session;
import
net.sf.hibernate.Transaction;
import
net.sf.hibernate.SessionFactory;
import
net.sf.hibernate.cfg.
Configuration
;
import
net.sf.hibernate.tool.hbm2ddl.SchemaExport;
import
javax.naming.
InitialContext
;
import
javax.naming.
Context
;
import
javax.sql.*;
import
java.sql.*;
import
java.util.*;
import
com.jagie.utils.j2ee.*;
public
class
Test {
private
static
SessionFactory sessions;
public
static
void
main(
String
[] args)
throws
Exception
{
Configuration
conf =
new
Configuration
().addClass(
Permission
.
class
);
sessions = conf.buildSessionFactory();
//生成并输出sql到文件(当前目录)和数据库
SchemaExport dbExport =
new
SchemaExport(conf);
dbExport.setOutputFile(
"sql.txt"
);
dbExport.create(
true
,
true
);
//start......
Session s = sessions.openSession();
Transaction t = s.beginTransaction();
//1.用普通使用方式建立对象,填充数据
Permission
p1 =
new
Permission
();
p1.setName(
"1111"
);
//2.持久化
s.save(p1);
//此时p1已经可以在数据库中找到
t.commit();
s.close();
}
}
7.运行该类,即可看到数据库已经建立了一个sys_permission的表,并且插入了一条数据。很简单吧!
previous page
start
next page
Menu
Homepage
Table of contents
J2EE
连接池
c3p0
proxool
用Proxool来配置连接池 很想采用opensourc的项目proxool来实现连接池。可它可真要我伤心的呀,测试了很久,也没有成功。不是说没有找到配置文件,就是说没有合适的驱动。真是晕,真是奇怪。我明明按照要求把配置文件和一直用的jdbc驱动程序放在了classpath下,可就是出现了问题,只能说明一点,那就是我还是没有明白它的原理。最后,找了很多的资料,终于测试成功了一种。
eclipse
Eclipse快速上手指南
Eclipse插件的安装与配置
用Eclipse3.1 + Myeclipse4.0 + Tomcat5.0 + j2sdk1.5 搭建J2EE开发环境
Struts
Struts入门指引
实例学习 Struts
Struts起步之Helloword
Spring
Spring中WebApplicationContext的研究
使用Spring Quartz执行定时任务
Hibernate
Hibernate3
与Spring整合
使用spring配置hibernate3
Hibernate3与spring的整合应用
Hibernate3支持DetachedCriteria
Testing JChord
连接池配置
c3p0 & proxool
DBCP/Hibernate
Hibernate 事务天生适合 Spring AOP
【spring+hibernate学习文档】---配置篇
如何把Hibernate2.1升级到Hibernate3.0?
Hibernate3之Hello, Word程序
在WebLogic中使用Hibernate
Weblogic 8.1与Hibernate的结合的解决方案
使用Hibernate的一个完整例子
Hibernate下数据批量处理解决方案
利用weblogic的数据源作为hibernate的数据源的例子
Struts+Spring+Hibernate快速入门
HIBERNATE - 符合Java习惯的关系数据库持久化
iBATIS
学习eclipse--iBATIS实践
iBATIS入门(实例代码)
泰能特: Hibernate、iBATIS 与 BLOB
mysql 中得到新插入数据的 id ,在 ibatis 中的应用 | 一亩三分地
Ibatis2.0使用说明(一)——入门实例篇
Ibatis2.0使用说明(二)——配置篇(1)
Ibatis2.0使用说明(二)——配置篇(2)
Ibatis2.0使用说明(二)——配置篇(3
Ibatis2.0使用说明(二)——配置篇(4)
基于struts+spring+ibatis的轻量级J2EE开发
ibatis中执行pl/sql语句块的测试
pojo+xDoclet生成ibatis映射文件
自己搞的在oralce下动态生成IBATIS的sqlMap文件小工具
XML
XML-RPC
Apache xml-rpc入门
XML-RPC 之 Apache XML-RPC 实例
XML-RPC的HelloWorld实例
[原创]xml-rpc入门例程及一个通用服务器
XML配置文件的读取处理
XML配置文件的读取(sax)
XML入门精解之文件格式定义(DTD)
ChinaUnix.net - JAVA的XML编程
Log4J
Log4J 学习笔记(1)
Log4J 学习笔记(2)
Log4J 学习笔记(3)
实例介绍Struts+Spring+Hibernate开发
用缓冲技术提高JSP应用的性能和稳定性
Get in touch
Submit feedback about this site to:
[email protected]