Hibernate学习笔记(基础信息和框架结构)

hibernate框架的认识?

首先定位在它是基于j2ee平台上一种ORM映射的持久层框架。

hibernate和ibatis,之间的差别?

hibernate通过对象映射关系,并完成对JDBC的封装,

ibatis通过对象映射SQL语句。

hibernate实现的步骤:1.持久化类的设计2.持久化类和关系数据库的映射.(源数据映射设计)3.hibernate的基础配置(hibernate-cfg.xml)包括:

<!-- *连接数据库的信息-->
<property name="connection.driver_class">数据库驱动</property>
<property name="connection.url">url地址</property>
<property name="connection.username">用户名</property>
<property name="connection.password">密码</property>
<!--*数据库的方言(下面是针对sqlserver的数据库方言),告诉hibernate使用哪种数据库用语-->
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!--*映射文件的信息-->
<mapping resource="com/fisher/user.hbm.xml" />
<!--其他信息的配置,下面是些用于调试的配置-->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create-update</property>
<!--使用上面的debug,必需将log4j下的log4j.properties放在src路径下-->

 

  持久化java类的设计,书上和网站上关于持久化类的信息太多,简短的归纳一下在hibernate中持久化类的规范:

1.提供一个默认的无参的构造方法,这样的话Hibernate就可以使用...newinstance来实例化它们。

2.类的属性是私有,并提供公共的get(),set()方法.

3. 提供一个标识属性,例如c_id,这个属性映射数据库表的主键字段,其类型可以是任何的原始类型、原始类型的包装型如Integer,String,或者是 java.util.Date.

4.对于集合类型的属性,应当声明为Collection接口/map接口类型,比如List,Set,Map....

 在看hibernate的结构:

结构

hibernate层是介于数据库database和持久类对象之间.

体系结构如下:

configuration---

sessionFactory(针对单个数据库映射关系经过编译后的内存镜像,线程是安全的,它是生成Session的工厂,当然如果要与多个数据库进行连接,就要另外配置sessionFactory)

--session(表示应用程序与持久储存层之间交互操作的一个单线程对象,是transation生成的工厂,隐藏了JDBC的连接

--transation( 它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开,事务边界的开启和关闭是必要的)

/query(接口提供了参数绑定、结果集处理以及运行实际查询的方法)

/criteria

比较特殊的是:数据的保存/插入insert要是用session.save()方法来完成

 

你可能感兴趣的:(数据结构,log4j,Hibernate,框架,ibatis)