当前位置:首页 » 操作系统 » hibernate获取数据库

hibernate获取数据库

发布时间: 2024-09-04 18:15:12

① 如何使用Nhibernate动态连接Oracle数据库

一、使用配置文件nfig)连接数据库
下面以使用Nhibernate2.2连接Oracle10数据库为例,给出连接配置信息如下:
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="nnection_string">User ID=hzga;Password=hzga;Data Source=orcl;Persist Security Info=True;</property>
<property name="show_sql">false</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>
</hibernate-configuration>
二、通过提供一个IDictionary实例连接数据库
下面还是以使用Nhibernate2.2连接Oracle10数据库为例,给出连接配置信息如下:
cfg = new Configuration();
IDictionary<string, string> connProps = new Dictionary<string, string>();
connProps.Add("connection.driver_class", "NHibernate.Driver.OracleClientDriver");
connProps.Add("nnection_string", "User ID=hzga;Password=hzga;Data Source=orcl;Persist Security Info=True;");
connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");
connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");
connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");
cfg.SetProperties(connProps);
cfg.AddAssembly(AssemblyName);
sessions = cfg.BuildSessionFactory();
三、如何使用Nhibernate动态直接连接Oracle数据库
上述两种方式都可以成功连接到Oracle数据库,但是前提条件是运行程序时需要安装Oracle客户端。在程序发布部署的时候安装Oracle客户端是一件非常麻烦的事件,那么有没有一种比较好的方法可以直接连接Oracle数据库,同时又不必安装Oracle客户端呢。
答案是肯定的,下面提供两种方式直接连接Oracle数据库:
1、通过OleDB和Oracle公司的驱动
cfg = new Configuration();
IDictionary<string, string> connProps = new Dictionary<string, string>();
connProps.Add("connection.driver_class", "NHibernate.Driver.OleDbDriver");
connProps.Add("nnection_string", "Provider=OraOLEDB.Oracle.1;User ID=hzga;Password=hzga;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.148)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))");
connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");
connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");
connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");
cfg.SetProperties(connProps);
cfg.AddAssembly(AssemblyName);
sessions = cfg.BuildSessionFactory();
2、通过OLEDB和微软公司的Oracle驱动
cfg = new Configuration();
IDictionary<string, string> connProps = new Dictionary<string, string>();
connProps.Add("connection.driver_class", "NHibernate.Driver.OleDbDriver");
connProps.Add("nnection_string", " Provider=MSDAORA.1;User ID=lportal;Password=lportal;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = zhbrserver)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))");
connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");
connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");
connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");
cfg.SetProperties(connProps);
cfg.AddAssembly(AssemblyName);
sessions = cfg.BuildSessionFactory();

② hibernate中,用HQL查询如何获取数据库中年龄字段最大的那条记录HQL语句怎么写

可以用子查询:

hql语句

"from User where age=(select max(age) from User) "

相应的sql语句是

SELECT * FROM USER WHERE AGE=(SELECT MAX(AGE) FROM USER);

③ hibernate怎么获取数据库表字段等信息

hibernate怎么获取数据库表字段等信息
教你个方法:
List result = session.createSQLQuery(sql)
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list()
用这个方法可以把数据库查询出来的每一行封装成一个Map类型,Key为数据库字段,Value为值,
然后把这些Map放到了一个List里面,
如果你只返回一条记录:
那么
Map<String, Object> map = (Map<String, Object>) result.get(0);
即可得到你这一行记录转换层的Map,
如果有多条,迭代List即可。
希望对你有帮助

④ hibernate 读取数据 只有1000条!好奇怪

文档修复、恢复方法 一、文档格式法 这种方法是将损坏的Word文档转换为另一种格式,然后再将它转换回Word文档格式。这是最简单和最彻底的文档恢复方法。所以如果遇到显示混乱的情况,推荐首先使用这种方法。步骤如下: 1.在Word中打开损坏的文档,选择文件另存为,在保存类型列表中,选择RTF格式(?....rtf),然后单击保存按钮。 2.关闭损坏的文档,打开刚才保存的RTF文件,选择文件另存为,在保存类型列表中,选择Word文档(?.doc),然后单击保存按钮。 3.关闭RTF文档,打开DOC文档。 Word文档与RTF的相互转换将保留其格式,如果这种转换没有修复文件,则可以尝试与其他格式相互转换,这将不同程度地保留Word文档的格式。如果使用这些格式均无法解决本问题,可将文档转换为纯文本格式(?.txt),再转换回Word格式。由于纯文本的简单性,有可能修复损坏处,但是Word文档的所有格式设置都将丢失。 二、重设格式法 Word用文档中的最后一个段落标记关联各种格式设置信息,特别是节与样式的格式设置信息。这样,硬盘坏了怎么办 227,如果我们将最后一个段落标记之外的所有内容复制到新文档,就有可能将损坏的内容留在原始文档中。步骤如下: 1.在Word中打开损坏的文档,选择工具选项,然后选择编辑选项卡,取消使用智能段落选择范围复选框前的钩。这样,杭州笔记本维修,选定整个段落时,Word将不会自动选定段落标记。然后单击确定按钮。 2.选定最后一个段落标记之外的所有内容,方法是:按Ctrl+End组合键,然后按Ctrl+Shift+Home组合键。 3.在常用工具栏中,依次单击复制、新建和粘贴按钮。 三、重建模板法 Word在Normal.dot模板文件中存储默认信息,如果该文件被损坏,Word文档也有可能出问题。创建新的Normal模板的步骤如下: 1.关闭已打开的Word程序。 2.选择开始查找文件或文件夹,在名称框中,键入Normal.dot,在搜索下拉列表中选择安装Word的分区,然后单击开始查找按钮。 3.右键单击搜索结果列表中的Normal.dot,然后选择菜单中的重命名,随便输入一个新的名称,然后确定。 4.启动Word程序。 由于Word无法识别重命名后的Normal.dot文件,西数硬盘维修,Word只能重新创建一个新的Normal模板。创建新的Normal模板后,可以尝试打开损坏的文档。如果问题解决了,那就表明旧的Normal模板确实已经损坏,数据库修复 555。此外,如果你的文档还用到了Normal.dot之外的其他模板,为解决问题,也请尝试重新创建该模板或使用它的较早版本。

热点内容
哈哈脚本官网 发布:2024-11-25 02:19:47 浏览:742
服务器屏锁后怎么登录 发布:2024-11-25 02:10:45 浏览:222
四驱汉兰达买哪个配置性价比高 发布:2024-11-25 02:04:52 浏览:684
pythonsocket阻塞非阻塞 发布:2024-11-25 02:04:41 浏览:490
中温压缩机 发布:2024-11-25 01:59:54 浏览:278
小米怎么查看云相册密码是什么 发布:2024-11-25 01:46:38 浏览:686
不同的语言编译原理 发布:2024-11-25 01:30:37 浏览:315
c编译成c 发布:2024-11-25 01:29:12 浏览:105
飞腾编译gcc 发布:2024-11-25 01:28:32 浏览:153
服务器文档设备存储需要检查什么 发布:2024-11-25 01:27:10 浏览:343