什么是Hibernate框架
这个框架应用于DAO
ORM:Object relaction mapping
实体类和数据表建立了联系,通过操作对象,直接对数据库进行修改。
Hibernate框架搭建
1.导包
导入required目录下所有的包
驱动包是必须的,网上应该可以找到
这是所需的jar包
_MACOSX是在苹果电脑上使用是衍生的
只需要打开需要的包即可
链接:https://pan.baidu.com/s/1YdIcJnjxKUmLbihiEMKnKw
密码:e5gx
2.准备一个实体类
(1) 所有的属性应该设置为私有,并添加get和set方法
(2)构造函数要么不写,如果写至少写两个(必须包含一个空的)
(3)属性的类型应使用包装类型
(4)必须拥有一个主键
3.准备数据库
数据库必须由我们自己建立
注:表中的字段和实体类一一对应。
4.创建实体类和数据表之间的映射配置文件
创建一个实体类名+.hbm+.xml
建议这个文件的目录和实体类在同一目录下
<hibernate-mapping>
<class name="cn.hd.bean.User" table="t_user">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="name" column="name"></property>
<property name="sex" column="sex"></property>
<property name="age" column="age"></property>
<property name="balance" column="balance"></property>
</class>
</hibernate-mapping>
5.书写核心配置文件
hibernate.cfg.xml
注:文件位置必须放在src目录下
(1)导入约束
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
(2)书写配置
<hibernate-configuration>
<session-factory>
<!--必须 数据库连接属性 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">199881</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.connection.isolation">4</property>
<mapping resource="cn/hd/bean/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
6.书写测试代码
public static void main(String[] args) {
//读取配置文件
Configuration cfg= new Configuration();
cfg.configure();
//创建sessionFactory类
SessionFactory sessionFactory =cfg.buildSessionFactory();
//获得一个session
Session session = sessionFactory.openSession();
//开启事务
Transaction transaction=session.beginTransaction();
User user = new User();
user.setName("张三");
user.setAge(22);
user.setSex("男");
user.setBalance(1000);
session.save(user);
//提交事务
transaction.commit();
//释放资源
session.close();
sessionFactory.close();
}