<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hi
1:Hibernate的主配置文件的名字必须是hibernate.cfg.xml(主要配置文件中主要配置:数据库连接信息,其他参数,映射信息): 常用配置查看源码:Hibernate\hibernate-distribution
下面就分别说明连接不同数据库需要在hibernate.cfg.xml做的配置。 需要数据库驱动包可以点击这里下载:数据库Jar包下载地址:http://pan.baidu.com/s/1jGKEEY6 密码:okq0 1、Hibernate连接MySQL数据库的hibernate.cfg.xml com.basehibernate.pojo.Employee" /> 32 </session-factory> 33 </hibernate-configuration> 2、Hibernate连接Oracle数据库的hibernate.cfg.xml com.xinpinv.pojo.BitInfo" /> 31 </session-factory> 32 </hibernate-configuration> 3、Hibernate连接Oracle数据库的hibernate.cfg.xml
在一个 Hibernate 项目中,我们需要同时设置 hbm.xml 和 Annotations 的 mapping 这种情况 hibernate.cfg.xml 如何配置? ---- 其实 hibernate.cfg.xml 中是可以同时设置 hbm.xml 和 Annotations 的。
持久化类映射文件在hibernate.cfg.xml中的配置 hibernate的配置文件hibernate.cfg.xml用于配置数据库的连接的信息,以及需要持久化的对象的xml映射文件的位置 在hibernate.cfg.xml SessionFactory是和一个数据库一一对应的,他只能对应一个hibernate.cfg.xml文件,一个hibernate.cfg.xml中只能配置一个数据库的连接信息。 Hibernate的核心接口 Configuration,用于解析hibernate.cfg.xml文件和XXXXX.hbm.xml文件,并创建SessionFactory对象。 hibernate.cfg.xml中的标签 <!
配置文件位置 使用Configuration config = new Configuration().configure();读取Hibernate的配置文件,文件的默认名称为hibernate.cfg.xml 比如我放置的配置文件位置为src/configs/hibernate.cfg.xml。 那么代码中这样写就行了,Configuration config = new Configuration().configure("configs/hibernate.cfg.xml"); 还有就是在/ hibernate.cfg.xml中,mapping结点有一个resource属性,这个属性包含的是Hibernate映射文件的路径,这个路径按照放置在src下面的路径写就好了。 SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml
1:Configuration :配置管理类对象 1.1:config.configure(): 加载主配置文件的方法(hibernate.cfg.xml) ,默认加载src/hibernate.cfg.xml 1.2:config.configure(“cn/config/hibernate.cfg.xml”); 加载指定路径下指定名称的主配置文件 1.3:config.buildSessionFactory (); 创建session的工厂对象 2: SessionFactory :session的工厂(或者说代表了这个hibernate.cfg.xml配置文件) 2.1:sf.openSession //1:创建配置管理类对象 22 Configuration config=new Configuration(); 23 //加载配置文件,(默认加载/src/hibernate.cfg.xml
请先阅读:Nhibernate入门与demo 以下是我们项目的升级的地方: 先看一下程序结构的截图: 问题一:关于hibernate.cfg.xml配置文件。 文件名称必须是hibernate.cfg.xml 。Nhibernate自动到项目输出中查找此文件。必须将此文件的属性设置为始终复制。 问题二:在webconfig中配置Nhibernate,不使用单独的:hibernate.cfg.xml 在webconfig中配置Nhibernate是我们另外一种配置方式。格式如下: <? sessionFactory.Close(); } } } 上面NhibernateHelper不报错的基础是:你在webconfig中正确配置Nhibernate或者添加了hibernate.cfg.xml
: public void main(String[] args){ Configuration conf = new Configuration(); conf.configure("hibernate.cfg.xml "); } 如果属性文件为hibernate.cfg.xml文件,则可省略configure方法的参数。 代码如下: public void main(String[] args){ Configuration conf = new Configuration().configure("hibernate.cfg.xml "); SessionFactory factory= conf.buildSessionFactiion(); } SessionFactory的相关属性在hibernate.cfg.xml中配置
核心步骤 ---- 导入Jar包 Hibernate配置文件(只有一个) hibernate.cfg.xml用于数据库连接信息Hibernate的一些配置信息 Hibernate映射文件(可以有 2)、新建项目hw_hibernate 3)、导入Jar包 请下载hibernate_lib.zip拷贝到lib目录下 4)、新建配置文件hibernate.cfg.xml 注意:应该放在源文件的 src目录下,默认为hibernate.cfg.xml。 Hibernate配置文件 Configuration conf=new Configuration().configure(); /*在类路径中装载 默认的配置文件hibernate.cfg.xml 如果配置文件关联了映射文件, 同时也装载了映射信息*/ //如果装载指定的配置文件 //conf.configure(new File("hibernate.cfg.xml
核心配置文件(hibernate.cfg.xml) 1.5. 工具类(HibernateUtil) 1.6. 测试类 1.7. "></property> <property name="age" column="age"></property> </class> </hibernate-mapping> 核心配置文件(hibernate.cfg.xml ) 核心配置文件的名字是hibernate.cfg.xml 放在根目录中,resource下 <? SessionFactory sessionFactory; /* * 静态语句块中的内容只是在类加载的时候只创建一次,因此这里的大大减少了资源的消耗 */ static { // 加载核心配置文件hibernate.cfg.xml =null) { session.close(); } } } 总结 核心配置文件名字一定要是: hibernate.cfg.xml 实体类的配置文件要和实体类最好放在同一个包中 运行测试类
Hibernate工作原理总结 hibernate工作原理: 1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。 2、由hibernate.cfg.xml中的<mappingresource="xx/xx/xxx.hbm.xml"/>读取解析映射信息。 核心配置文件配置 对于hibernate的核心配置文件它有两种方式: hibernate.cfg.xml hibernate.properties 我们在开发中使用比较多的是hibernate.cfg.xml 这种方式,原因它的配置能力更强,易于修改 我们主要讲解的是hibernate.cfg.xml配置 1.可以加载数据库相关信息 ? 对于hibernate.cfg.xml配置文件中的内容可以参考hibernate/project/etc/hibernate.properties的配置 ?
3.返回Package Explorer中,打开导入Hinernate框架时创建的hibernate.cfg.xml文件,这是点击DB Driver下拉框就会出现新建的DB,选择就可以了。 好了接下来就可以在hibernate.cfg.xml直接生成数据库链接代码了,不过现在在配置datasource数据源的时候,spring已经帮我自动生成了,所以就不需要在cfg里面再做配置了
将这些包放到项目的lib文件夹下,下一步,我就开始创建Hibernate.cfg.xml Hibernate.cfg.xml 是Hibernate的配置文件,和struts.xml意思有点像。 在Hibernate.cfg.xml里面我们会配置数据库的信息,连接数据库的配置,以及数据库中的表。 首先在src目录下新建一个xml文件,在里面声明 <? Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 建好之后的Hibernate.cfg.xml 接下来我们可以看到,配置映射文件里,所以在建完Hibernate.cfg.xml之后,我们需要建实体类。 ,因此要创建一个Session必须要构建一个SessionFactory 实例 在src目录下创建com.commom包,并在包中创建HibernateSessionFactory 类,在类中读取Hibernate.cfg.xml
<artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> 2,添加hibernate.cfg.xml args){ //1.创建configuration对象 Configuration cfg = new Configuration(); //2.加载hibernate.cfg.xml cfg.configure("/hibernate.cfg.xml"); //3.通过cfg创建会话工厂 SessionFactory factory
手动配置我们的hibernate.cfg.xml文件,该文件由于配置连接数据库的类型,driver,用户名,密码,url……,该文件的名称,我们一般不修改, 1 <session-factory> 现在我们来重新配置hibernate.cfg.xml文件 1 <hibernate-configuration> 2 <session-factory> 3 <! (3).加载hibernate.cfg.xml配置文件中配置的驱动,url,用户名,密码,连接池。 Hibernate.cfg.xml文件 1. 该文件主要用于指定各个参数。是hibernate核心文件。 2. 默认放在src目录下,也可以放在别的目录下、 3. (推荐使用hibernate.cfg.xml) 6. Hibernate.properties文件:作用和Hibernate.cfg.xml文件一致 7.
写对象以及对象的映射 Employee.java 对象 Employee.hbm.xml 对象的映射 (映射文件) 4. src/hibernate.cfg.xml property> <property name="workDate" column="workDate"></property> </class> </hibernate-mapping> hibernate.cfg.xml ) 默认加载src/hibernate.cfg.xml config.configure(“cn/config/hibernate.cfg.xml”); 加载指定路径下指定名称的主配置文件 config.buildSessionFactory (); 创建session的工厂对象 |-- SessionFactory session的工厂(或者说代表了这个hibernate.cfg.xml配置文件) sf.openSession( 主配置 Hibernate.cfg.xml 主配置文件中主要配置:数据库连接信息、其他参数、映射信息!
同时,不要忘记将这两个配置文件添加到hibernate.cfg.xml中。 <! public class Test { public static void main(String[] args) { //1.创建Configuration对象,加载hibernate.cfg.xml Configuration(); configuration = configuration.configure(); //2.创建ServiceRegistry对象,hibernate.cfg.xml 将这两个配置文件添加到hibernate.cfg.xml中。 <! public class Test { public static void main(String[] args) { //1.创建Configuration对象,加载hibernate.cfg.xml
然而,产生以上异常的原因在于Spring提供了自己的CurrentSessionContext实现,如果我们不打算使用Spring,而是自己直接从hibernate.cfg.xml创建SessionFactory ,并且为在hibernate.cfg.xml 中设置current_session_context_class为thread,也即使用了ThreadLocalSessionContext,那么我们在调用 在没有Spring的情况下使用Hibernate,如果没有在hibernate.cfg.xml中配置current_session_context_class,有没有JTA的话,那么程序将抛出”No CurrentSessionContext 此时的解决办法是在hibernate.cfg.xml中将current_session_context_class配置成thread。
3.5、编写核心配置文件hibernate.cfg.xml 位置:类路径(classpath、src)--> 或者WEB-INF/classes 名称:hibernate.cfg.xml 具体内容如下 4.2、Configuration 配置对象 Hibernate 的核心,配置文件种类: hibernate.cfg.xml 通常使用 xml配置文件,可以配置内容更丰富。 2、 提供无参方法configure();将加载src下的hibernate.cfg.xml。 开发中:将hbm.xml映射配置到hibernate.cfg.xml中。 学习中:可以使用手动方式 addResource 或 addClass。 1、调用getCurrentSession(); 必须在hibernate.cfg.xml中进行如下配置: <!