博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载]利用weblogic的数据源作为hibernate的数据源的例子
阅读量:2447 次
发布时间:2019-05-10

本文共 3081 字,大约阅读时间需要 10 分钟。

利用weblogic的数据源作为hibernate的数据源的例子
在网上,我们可以看到许多关于hibernate入门的例子,但是好多是让hibernate自己管理连接池的。我在这里给出一个直接利用weblogic 发布的数据源的例子。步骤如下
1.写一个准备用于持久化的类
  1. package com.jagie.business.organization;
  2. import java.io.;
  3. /**
  4. *

    Title:

  5. *

    Description: 权限

  6. *

    Copyright: Copyright (c) 2003

  7. *

    Company: www.jagie.com

  8. * @author Jagie
  9. * @version 1.0
  10. */
  11. public class Permission implements {
  12. private ID;//pk
  13. private name;//名称
  14. private description;//描述
  15. private module;//模块id
  16. private power;//权值,$分隔的操作id例如:browse$add$delete$change
  17. private int scope;//范围,0:本人,1:本单位,2:所有单位
  18. public static void main([] args) {
  19. }
  20. public getID() {
  21. return ID;
  22. }
  23. public void setID( ID) {
  24. this.ID = ID;
  25. }
  26. public getName() {
  27. return name;
  28. }
  29. public void setName( name) {
  30. this.name = name;
  31. }
  32. public getDescription() {
  33. return description;
  34. }
  35. public void setDescription( description) {
  36. this.description = description;
  37. }
  38. public getModule() {
  39. return module;
  40. }
  41. public void setModule( module) {
  42. this.module = module;
  43. }
  44. public getPower() {
  45. return power;
  46. }
  47. public void setPower( power) {
  48. this.power = power;
  49. }
  50. public int getScope() {
  51. return scope;
  52. }
  53. public void setScope(int scope) {
  54. this.scope = scope;
  55. }
  56. }
2.编写一个xml文件,名称为Permission.hbm.xml,一定要确保在运行时该xml文件和Permission.class在一起
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的威力好了,原码如下.
  1. package com.jagie.business.organization;
  2. import net.sf.hibernate.Session;
  3. import net.sf.hibernate.Transaction;
  4. import net.sf.hibernate.SessionFactory;
  5. import net.sf.hibernate.cfg.Configuration;
  6. import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
  7. import javax.naming.;
  8. import javax.naming.;
  9. import javax.sql.*;
  10. import java.sql.*;
  11. import java.util.*;
  12. import com.jagie.utils.j2ee.*;
  13. public class Test {
  14. private static SessionFactory sessions;
  15. public static void main([] args) throws {
  16. Configuration conf = new Configuration().addClass(Permission.class);
  17. sessions = conf.buildSessionFactory();
  18. //生成并输出sql到文件(当前目录)和数据库
  19. SchemaExport dbExport = new SchemaExport(conf);
  20. dbExport.setOutputFile("sql.txt");
  21. dbExport.create(true, true);
  22. //start......
  23. Session s = sessions.openSession();
  24. Transaction t = s.beginTransaction();
  25. //1.用普通使用方式建立对象,填充数据
  26. Permission p1 = new Permission();
  27. p1.setName("1111");
  28. //2.持久化
  29. s.save(p1);
  30. //此时p1已经可以在数据库中找到
  31. t.commit();
  32. s.close();
  33. }
  34. }
7.运行该类,即可看到数据库已经建立了一个sys_permission的表,并且插入了一条数据。很简单吧!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130782/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-130782/

你可能感兴趣的文章
Object.fromEntries
查看>>
mongdb选择存储引擎:_选择引擎:从右到左
查看>>
pubg 接口在哪里_如何在PUBG中获取绿血
查看>>
node压缩css_Node.js CSS压缩器:clean-css
查看>>
JavaScript CSS助手
查看>>
邪恶的AJAX:使用jQuery的Spyjax
查看>>
css指针悬停_CSS指针事件
查看>>
目标检测 多分辨率检测_检测视频分辨率
查看>>
ip校验和 tcp校验和_如何校验和
查看>>
pandora nohup_如何更好地训练您的Pandora广播电台
查看>>
显示器选三星还是飞利浦_如何为飞利浦色相灯设置计时器
查看>>
vm macos 启用3d_如何在macOS中启用夜班以减轻眼睛疲劳
查看>>
白色裤子为什么会沾上蓝色_什么是蓝色的,为什么它可以在Mac上运行?
查看>>
apple默认备份位置_如何将Apple Maps默认设置为步行路线
查看>>
固件中启用的虚拟化否_哪些固件或硬件机制可启用强制关机?
查看>>
如何还原桌面图标_如何为Windows 10桌面图标还原或更改文本的默认外观?
查看>>
ios numlock_从“提示”框:默认情况下启用NumLock,无广告的iOS应用和立体声供电的派对灯...
查看>>
询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
查看>>
dropbox文件_Dropbox即将发布的扩展程序更新将添加更多文件编辑支持,包括Pixlr照片...
查看>>
google hdr+_更好的隐私权控制使Google+死了
查看>>