hibertnate首次使用
在包zsc.czy.pojo下 新建一个配置文件Category.hbm.xml, 用于映射Category类对应数据库中的category表(即使现在数据库表那边还没建表也无所谓,它会使用这个表名)
注: 文件名 Category.hbm.xml C一定要大写,要和类保持一致
表示类Category对应表category
在src目录下创建 hibernate.cfg.xml
配置访问数据库要用到的驱动,url,账号密码等等
其他配置及含义:
org.hibernate.dialect.MySQLDialect
这表示使用MYSQL方言。 什么方言呢? 因为在代码层面,开发人员不用关心底层到底用Oracle还是Mysql,写的代码都是一样的。 可是Oracle和Mysql所用的sql语句的语法是有所区别的,那么这件事就交给Hibernate来做了。这个时候就需要告诉Hibernate底层用的是什
目标
创建一个名为test的数据库,表名是category,里面有id 和name 列名。 表的用途是记录商品分类。(category的中文意思是类别)
所需jar包,以及版本号
新建一个javaBean
配置Category.hbm.xml (hbm既hibertnate mapping的意思,这样容易记住)
<class name="Category" table="category">
表示类Category对应表category
<id name="id" column="id">
<generator class="native">
</generator>
</id>
表示属性id,映射表里的字段id
====================================
<property name="name" />
这里配置的时候,只写了属性name,没有通过column="name" 显式的指定字段,那么字段的名字也是name.(即是说Category里的name成员属性,默认指定数据库category表里的名为name的那列)
=====================================
如果上面那个声明没加,会报Caused by: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 43; cvc-elt.1: 找不到元素 'hibernate-mapping' 的声明。
配置 hibernate.cfg.xml
在src目录下创建 hibernate.cfg.xml
配置访问数据库要用到的驱动,url,账号密码等等
其他配置及含义:
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
这表示使用MYSQL方言。 什么方言呢? 因为在代码层面,开发人员不用关心底层到底用Oracle还是Mysql,写的代码都是一样的。 可是Oracle和Mysql所用的sql语句的语法是有所区别的,那么这件事就交给Hibernate来做了。这个时候就需要告诉Hibernate底层用的是什么数据库,它才知道应该用什么样的“方言” 去对话。
<property name="current_session_context_class">thread</property>
这是Hibernate事务管理方式,即每个线程一个事务
<property name="show_sql">true</property>
这表示是否在控制台显示执行的sql语句
==============================================
<property name="hbm2ddl.auto">update</property>
这表示是否会自动更新数据库的表结构,有这句话,其实是不需要创建表的,因为Hibernate会自动去创建表结构
===================================================
<mapping resource="zsc/czy/pojo/Category.hbm.xml" />
这表示Hibernate会去识别Category这个实体类
=================================================
测试类 TestHibernate
创建一个Product对象,并通过hibernate把这个对象,插入到数据库中
运行TestHibernate.java,数据库成功插入了一个新表
观察下建文件的结构
总结
应用程序通过Hibernate把 一个 Category对象插入到数据库的category表中
hibernate.cfg.xml 配置文件提供链接数据库的基本信息
账号 密码 驱动 数据库ip 端口 以及 配置映射资源XXXX.hbm.xml
Category.hbm.xml 提供对象与表的映射关系
对应哪个表? 什么属性,对应什么字段
hibernate和mybatis 的文件映射关系是非常相近的。