导航:首页 > 数据处理 > hibernate支持哪些数据库

hibernate支持哪些数据库

发布时间:2022-01-27 05:06:13

⑴ hibernate支持sqlite吗

Hibernate是ORM框架。ORM(Object Relational Mapping)是对象关系模型,当然是只支持关系型数据库!你去看hibernate核心jar下的org.hibernate.dialect 包里面有哪些方言,都是关系数据库的方言。

⑵ 达梦数据库可以用hibernate吗

JAVA的一般项目都可以使用的——如果是现成的,只是看改动的代价如何。

⑶ hibernate是什么

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心类和接口一共有6个,分别为:Session、SessionFactory、
Transaction、Query、Criteria和Configuration。这6个核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
Session:
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
SessionFactory:
SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Transaction:
Transaction 接口是一个可选的API,可以选择不使用这个接口,取而代之的是Hibernate 的设计者自己写的底层事务处理代码。 Transaction 接口是对实际事务实现的一个抽象,这些实现包括JDBC的事务、JTA 中的UserTransaction、甚至可以是CORBA 事务。之所以这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移植。
Query:
Query接口让使用者方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。
Criteria:
Criteria接口与Query接口非常类似,允许创建并执行面向对象的标准化查询。值得注意的是Criteria接口也是轻量级的,它不能在Session之外使用。
Configuration:
Configuration 类的作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的启动过程中,Configuration 类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。虽然Configuration 类在整个Hibernate 项目中只扮演着一个很小的角色,但它是启动hibernate 时所遇到的第一个对象。

⑷ hibernate可以跨数据库吗

首先来说,跨数据库肯定是可以的!
通常有两个方法,第一个是笨办法,就是在配置项里定义两个数据源,并且这两个数据源分属于两个SessionFaction对象。并且在代码中也有创建两个对象分别对应两个数据库,这样做比较麻烦,代码会很繁琐,并且执行效率不一定高。

第二个办法是使用spring开源框架里提供的动态数据源,通过动态的加载,将两个数据源信息加载到一个SessionnFacgtion对象中。方法一里面提到的缺点在这里都能够很好的解决。

大概步骤如下:
1.org.springframework.beans.factory.support.DefaultListableBeanF

actory获得bean工厂,可以添加销毁数据源;

2.org.springframework.beans.factory.support.BeanDefinitionBuilder动态创建bean,然后通过
DefaultListableBeanFactory.registerBeanDefinition(dsInfo.getId(), beanDefinitionBuilder.getBeanDefinition()); 注册数据源事务

3.销毁数据源
beanFactory.destroySingleton(tsId);
beanFactory.removeBeanDefinition(tsId);

⑸ hibernate 默认使用什么数据库

(1)在数据库中定义你的属性默认值;
(2)将<class name="User">改为
<class name="User"
dynamic-update="true"
dynamic-insert="true"
>

注释:加上dynamic-insert="true" 即可,说明是动态插入你在数据库中定义好的默认值。dynamic-update="true"相对于更新而言的。

⑹ hibernate可以创建数据库吗

可以,写个MAIN类,有个方法,参数是两个TRUE

⑺ hibernate与数据库连接的几种方式

三种连接都是以连接MySQl为例。

<!-- JDBC驱动程序 -->
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</property> <!-- 数据库用户名 -->
<property name="connection.username">root</property> <!-- 数据库密码 -->
<property name="connection.password">8888</property>

上面的一段配置,在c3p0和dbcp中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能,虽然说服文档上说proxool也可以和hibernate结合,但我按照官方文档上的说明怎么配也出错,而且,到了sun和hibernat有的官方网站上问了几天,都没有一个人回复。后来我只能让proxool自身来生成连接,这在下面再讲。

1 C3P0

只需在hibernate.cfg.xml中加入
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.time_out">1800</property>
<property name="c3p0.max_statement">50</property>

还有在classespath中加入c3p0-0.8.4.5.jar

2 dbcp

在hibernate.cfg.xml中加入

<property name="dbcp.maxActive">100</property>
<property name="dbcp.whenExhaustedAction">1</property>
<property name="dbcp.maxWait">60000</property>
<property name="dbcp.maxIdle">10</property>

<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.whenExhaustedAction">1</property>
<property name="dbcp.ps.maxWait">60000</property>
<property name="dbcp.ps.maxIdle">10</property>

还有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.

3 proxool

在hibernate.cfg.xml中加入

<property name="proxool.pool_alias">pool1</property>
<property name="proxool.xml">ProxoolConf.xml</property>
<property name="connection.provider_class">net.sf.hibernate.connection.ProxoolConnectionProvider</property>

然后,在和hibernate.cfg.xml同一个目录下,加一个ProxoolConf.xml文件,内容为

<?xml version="1.0" encoding="utf-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>pool1</alias>
<!--proxool只能管理由自己产生的连接-->
<driver-url>jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="8888"/>
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数-->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>

并在classespath中加入proxool-0.8.3.jar

⑻ hibernate 怎样知道连接哪个数据库

String url = "jdbc:mysql://localhost/数据库名; 这个url会在hibernate中的配置文件有写,如果引进properties的话那么就在 .properties文件中。

⑼ hibernate用的什么数据库

先了解一下概念吧
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

⑽ hibernate如何支持多数据库

一个sessionFactory对应一个数据库 配置多个不同名的sf 写一个容器管理他们

阅读全文

与hibernate支持哪些数据库相关的资料

热点内容
权健产品如何搭配 浏览:295
阿里的广告产品有哪些 浏览:219
信息社会治理模式有哪些 浏览:148
微盟小程序是什么意思 浏览:43
福田奥铃有哪些产品 浏览:213
图像处理产品有哪些 浏览:509
keil写好程序怎么知道有无错误 浏览:658
29岁了学点什么技术比较好 浏览:108
怎么将web程序转换安装包 浏览:217
手机屏保程序怎么卸载 浏览:717
京东的代理怎么收费 浏览:27
机动车安全技术检验主要依据哪些标准 浏览:101
什么是黄页数据加载完成 浏览:212
开发票保存发票信息如何更改 浏览:157
怎么看产品糖含量 浏览:337
abc类信托产品什么意思 浏览:293
药师学什么技术比较有前途 浏览:309
文子理财属于什么产品 浏览:181
比特币什么网站交易 浏览:532
vx小程序怎么制作身高对比图 浏览:838