1.什么是框架
框架就是一个半成品的项目,我们书写项目可以从半成品开始写,
这样能够大大提高开发效率。
不必纠结于框架本身的实现,只要学会如何使用这个框架即可。
2.什么是Hibernate框架
这个框架应用于DAO(数据化持久层)层
ORM:Object Relactional Mapping 关系对象映射
实体类和数据库表之间建立了联系,通过操作对象,直接对数据库进行修改。
3.框架搭建
1.导包
2准备一个实体类
(1)所有的属性应该设置为私有,并添加get和set方法
(2)构造函数要么不写,如果要写至少要写两个(必须包含一个空的)
(3)属性的类型应是包装类型
(4)必须拥有一个主键
3.准备数据库
(1)数据库必须由我们自己建,数据库表,可以由hibernate自动创建,如果手动创建,表中的字段和实体类一一对应。
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="age" column="age"></property>
<property name="sex" column="sex"></property>
<property name="balance" column="balance"></property>
</class>
</hibernate-mapping>
5.书写核心配置文件
名字必须是:hibernate.cfg.xml
文件的位置必须放在src目录下
导入约束
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
书写配置
<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">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql_sql">true</property>
<!--自动创建表-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--事务:4-->
<property name="hibernate.connection.isolation">4</property>
<mapping resource="cn/hd/bean/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
6.书写Servlet
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(20);
user.setSex("男");
user.setBalance(15000);
session.save(user);
//提交事务
transaction.commit();
//释放资源
session.close();
sessionFactory.close();
}
目录