hibernate简介
hibernate框架是一种orm(Object Relationl Mapping)框架,用对象的形式建模数据库,简化jdbc的操作,降低编码复杂程度,是开发人员将更多的精力用于业务逻辑。
第一步:创建java项目,导入hibernate所需jar包
- 创建java项目hibernate-practise;
- 引入hibernate所需要的包,详情如下(ps:可通过idea工具创建hibernate项目,会自动下载最新的hibernate所需jar包,但不包含junit和mysql-connector)
第二步:创建目录结构,编写数据库映射对象类(UserBasic)
1.在src目录下创建包com.ballchen.user;
2.在com.ballchen.user下面创建UserBasic类,具体情况如下图:
第三步:创建实体类的hibernate映射文件
1.在com.ballchen.user目录下面创建UserBasic.hbm.xml,具体情况如下图:
上图中xml的声明可以在下图中的地方找到:
打开hibernate-mapping-3.0.dtd就可以找到约束文件;
实体类映射文件中class属性table代表该实体类映射的数据库表名,name表示该实体类所在的位置,下面id的配置不中,generater的class可以有native(自增长),uuid(唯一值,String类型),最常用的就是这两个。
第四步:创建hibernate的核心配置文件
1.在src目录下创建hibernate.cfg.xml,如下图所示:
xml的声明可以在hibernate-configuration.dtd中找到(文件位置参考第三步)
核心文件配置中包括配置数据库连接、可选配置、加载实体类映射。
数据库连接配置:connection.driver_class,链接类名,我这里用的是mysql。
connection.url,链接地址
connection.username 用户名
connection.password 密码
可选配置:hibernate.hbm2ddl.auto,里面可以填四个值。
create,update,validate, create-drop。
create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model 类再重新来生成新表,哪怕两次没有任何改变也要这样执行。
update:第一次加载hibernate时根据model类会自动建立起表的结构,以后加载hibernate时根据 model类自动更新表结构。
validate:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
hibernate.show_sql:顾名思义,显示hibernate执行的sql语句。
hibernate.format_sql:格式化显示的sql语句,可以让人看起来更加方便。
hibernate.dialect:hibernate方言,用来适配不同的数据库。
hibernate.current_session_context_calss:
这里将该属性设置为thread,表示将hibernate的session绑定给当前线 程,当我们用sessionFactory.getCurrentSession()方法获得session的时候,就不用再session.close()了。
至此,hibernate的配置完成。