hibernate-基础部分

hibernate-基础部分
1、jdbc的缺点:
1、代码比较麻烦
2、不是面向对象编程
3、如果碰到一个很复杂的需求分析,需要很次很数据库交互,这样效率比较低
4、jdbc技术没有做到数据的缓存
2、hibenrnate
1、面向对象的编程
2、缓存
一级缓存    二级缓存     查询缓存
3、代码操作比较简单
4、如果该项目对sql的优化要求特别高,不适合用hibernate
  如果数据库的数据量特别大,也不适合用hibernate
3、hibernate的三大要素
1、配置文件
1、数据库的链接信息
<property name="hibernate.connection.username">root</property> 
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/privatesecretary</hibernate>
2、动态生成表
<property name="hbm2ddl.auto">update</property>
3、引入映射文件
<mapping resource="com/voole/vo/Role.hbm.xml" /> 
4、输出SQL语句
<property name="show_sql">true</property>
5、格式化SQL语句
<property name="format_sql">true</property>
6、方言
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
6、关于二级缓存的配置
<property name="cache.use_second_level_cache">true</property>
<property name="cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
7、关于查询缓存的配置
<property name="cache.use_query_cache">true</property>
8、统计机制
<property name="hibernate.generate_statistics">true</property>
9、从当前线程中产生session
<property name="current_session_context_class">thread</property>
2、持久化类
1、必须有默认的构造函数
2、标示符属性为基本类型的包装类或者String类型
3、一般属性
4、集合属性
3、映射文件
1、类与表的对应关系
2、类中的属性名称和表中的字段名称的对应关系
3、类中的属性类型和表中的字段类型的对应关系
4、一对多和多对多的对应关系
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <!-- 
        class元素描述的就是持久化类
          name     类的全名
          table    表名  默认值为person
          catalog  数据库的名称(最好不写,因为前面的配置文件已设置)
     -->
    <class name="com.itheima05.hibernate.domain.Person" table="person">
        <!-- 
            id  标示符
            name     标示符的名称
            length   在数据库中该字段的长度(最好要写)
            type     类型(可以不写)
            column   在表中的列的名字  默认就是name的名称(可以不写)
         -->
        <id name="pid" length="5" type="java.lang.Long" column="pid">
            <!-- 
                主键的生成器
             -->
            <generator class="increment"></generator>
        </id>
        <!-- 
            property代表一般属性
         -->
        <property name="name" 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值