hibernate
jdbc缺点 1、编程的时候很繁琐,用的try和catch比较多 2、jdbc没有做数据的缓存 3、没有做到面向对象编程 4、sql语句的跨平台性很差
jdbc的优点 效率比较高
hibernate的优点 1、完全的面向对象编程 2、hibernate的缓存很牛的,一级缓存,二级缓存,查询缓存 重点 3、编程的时候就比较简单了 4、跨平台性很强 5、使用场合就是企业内部的系统
hibernate的缺点 1、效率比较低 2、表中的数据如果在千万级别,则hibernate不适合 3、如果表与表之间的关系特别复杂,则hibernate也不适合
步骤
1、创建一个工程 2、导入jar包 说明: javassist包是用来创建代理对象的 代理对象的三种创建方式: 1、jdkproxy 2、cglib 3、javassist jta: Java Transaction API,是sun公司给分布式事务处理出来的规范 3、hibernate.cfg.xml 主要的用途: 告诉hibernate连接数据库的信息,用的什么样的数据库(方言) 根据持久化类和映射文件生成表的策略 4、持久化类和映射文件 5、生成表 6、客户端说明
hibernate.cfg.xml文件的加载
可以指定配置文件的路径,配置文件可以随意放
1、hibernate中的配置文件、映射文件、持久化类的信息都在sessionFactory中 2、sessionFactory中存放的信息都是共享的信息 3、sessionFactory本身就是线程安全的 4、一个hibernate框架sessionFactory只有一个 5、sessionFactory是一个重量级别的类
1、得到了一个session,相当于打开了一次数据库的连接 2、在hibernate中,对数据的crud操作都是由session来完成的
hibernate中的事务默认不是自动提交的
设置了connection的setAutoCommit为false 只有产生了连接,才能进行事务的操作。所以只有有了session以后,才能有transaction 流程
根据表生成持久化类和映射文件 把一个工程变成hibernate工程 把数据库引入到myeclipse中
hibernate类型 这个效率比较低 java类型 该种类型的效率比较高 在hibernate内部,为了一张表,这张表中有如下的映射关系:
hibernate类型 java类型 数据库的字段的类型 string java.lang.String varchar/varchar2副本