Hibernate映射配置文件
1.映射配置文件名称没有固定要求
2.映射配置文件中,标签name属性值写实体类相关的内容。
(1)class标签的name属性值,是实体类的全路径(包名+类名),
(2)id标签和property标签name属性值 实体类属性名称
3.id标签和property标签,column属性可以省略,
(1)column不写值和name中的属性相同。
4.property标签type属性用来设置表字段类型,自动对应类型
Hibernate核心配置文件
1 配置写位置要求
2 配置三部分要求
(1)数据库部分必须的
(2)hibernate部分可选的
(3)映射有文件必须的
3 核心配置文件名称和位置是固定的
(1)位置:src下面
(2)名称:hibernate.cfg.xml
Hibernate核心api
Configuration
1.代码如下
Configuration cfg=new Configuration();
cfg.configure();
(1)到src下面找到名称为hibernate.cfg.xml的配置文件,创建对象,把配置文件放到对象里面去(加载核心配置文件)。
SessionFactory(重点)
1.使用configuration对象创建sessionFactory对象
(1)创建sessionFactory对象过程中做事情。
根据核心配置文件中,有数据库配置,有映射文件部分,到数据库里面根据映射文件关系把表创建。
2.创建sessionFactory过程中,这个过程特别耗资源
(1)在hibernate操作中,建议一个项目一般创建一个sessionFactory对象
3.具体实现
写工具类,写静态代码块实现
*静态代码块在类加载时执行,执行一次。
package cn.itcase.utils;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
static Configuration cfg;//写成private static final 类型也是可取的
static SessionFactory sessionFactory;//写成private static final 类型也是可取的
//静态代码块
static {
//加载核心配置文件
cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}
//提供一个方法返回sessionFactory
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Session(重点)
1.Session类似于jdbc中的connection
2.调用session里面的不同方法实现crud操作
(1)添加save方法
(2)修改update方法
(3)删除delete方法
(4)根据id查询get方法
3.session对象单线程对象
(1)session对象不能够共用,只能自己使用
Transaction
1.事务对象
// 第三部,使用sessionFactory创建session对象
//session类似于conn连接
Session session=sessionFactory.openSession();
2.事务中的提交和回滚方法
提交事务
tx.commit();
事务回滚
tx.rollback();
3.事务概念
(1)事务四个特性
原子性、一致性、隔离性、持久性
解决配置文件没有提示的问题
1 可以上网
2 没网,将约束文件引入到eclipse中。
(1)在配置文件中先复制一句话,
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd
(2)步骤如下图
单击ok完成就可以用了。
效果如下:
重启eclipse就会有相应的提示产生。