映射配置文件

  • <class>标签 用来将类与数据库建立映射关系
  • name 类的全路径
  • table 表名(如果表名和类名一致,那么table属性也可以省略)
  • catalog 数据库的名称,基本上都会省略不写
  • <id>标签 用来将类中的属性和表中的主键建立映射关系,id标签就是用来配置主键的
    • name 来中属性名
    • column 表中的字段名,(如果类中的属性名和表中字段名一致,那么column可以省略)
    • length 字段的长度,如果数据库的表结构已经创建好了,那么length可以不写,如果没有创建好,length最好指定。
  • <property> 用来将类中的普通属性与表中的字段建立映射
  • name 类中的属性名
  • column 表中的字段名(如果类中的属性名与表中国的字段名一致,那么column可以省略)
  • length 数据长度
  • type 数据类型(一般都不需要写,如果写需要按照规则来编写),type的值有很多种写法。不写的时候底层通过反射可以自动匹配。
    • hibernate的数据类型 type=“string”
    • java的数据类型 type=“java.lang.String”
    • 数据库字段的数据类型,在property中建立一个子标签 <column name="name" sql-type="varchar"/>

核心配置文件

  • 核心配置文件的两种方式
  • 第一种是属性文件的方式,即properties的配置文件
    • hibernate.properties
      • hibernate.connection,driver_class = com.mysql.jdbc.Driver
    • 缺点
      • 不能加载映射的配置文件,需要手动编写代码去加载
  • 第二种方式是xml文件的形式,开发基本都会选择这种方式
    • hibernate.cfg.xml
      • <property name = "hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
      • 优点
      • 格式比较清晰
      • 编写有提示
      • 可以在该配置文件中加载映射的配置文件(最重要)
  • 关于hibernate.cfg.xml的配置文件方式
  • 必须有的配置
    • 数据库连接信息
      • hibernate.connection.driver_class – 连接数据库驱动程序
      • hibernate.connection.url – 连接数据库URL
      • hibernate.connection.username – 数据库用户名
      • hibernate.connection.password – 数据库密码
    • 方言
      • hibernate.dialect --操作数据库方言
  • 可选的配置
    • hibernate.show_sql (值为true) – 在控制台显示SQL
      • <property name = "hibernate.show_sql">true</property>
    • hibernate.format_sql – 格式化SQL
      • <property name = "hibernate.format_sql">true</property>
    • hibernate.hbm2ddl.auto – 通过映射转成DDL语句(数据库的定义语言),帮助生成数据库的表结构,属性值分别如下
      • create – 每次都会创建一个新的表.—测试的时候
        • <property name = "hibernate.hbm2ddl.auto">create</property>
        • 控制台输出的显示Hibernate常用的配置文件
      • create-drop – 每次都会创建一个新的表,当执行结束之后,将创建的这个表删除.—测试的时候
      • update – 如果有表,使用原来的表.没有表,创建一个新的表.同时更新表结构.但是不支持删除字段的操作。
        • 比如:添加新的字段,在javaBean中添加新的属性,在映射中加一个配置属性,此时update就会更新表结构。
      • validate – 如果有表,使用原来的表.同时校验映射文件与表中字段是否一致如果不一致就会报错
  • 加载映射
    • 如果xml方式::<mapping resource="cn/itcast/hibernate/domain/User.hbm.xml" />

相关文章: