一、hibernate映射配置文件
(1)映射配置文件名称和位置没有固定要求;
(2)映射配置文件中,标签name属性值写实体类相关内容:
——class name属性值写实体类全路径;
——id标签和property标签name属性值属性名称;
(3)id标签和property标签,column属性可以省略的:
——不写的话,值与前面的name属性值一样的;
(name表示实体类相关的,column表示数据库表字段相关的)
(4)property标签type属性,设置生成表字段的类型,但一般不写,会自动生成对应类型。
二、核心配置文件(很少修改)
(1)配置写的位置要求
(2)配置三部分要求:
——数据库部分必须的;
——hibernate部分可选的;
——映射文件必须的;
(3)核心配置文件名和位置固定的
——位置要做src下面
——名称必须:hibernate.cfg.xml
三、hibernate核心的API
- Configuration :到src下面找到名称 hibernate.cfg.xml配置文件,创建对象,把配置文件放到对象里面(目的:加载核心配置文件);
- SessionFactory(重点):
(1)使用Configuration的对象来创建SessionFactory对象
——在创建SessionFactory对象过程中做事情:根据核心配置文件中的数据库配置和映射文件部分,到数据库里面根据映射关系创建表
(2)创建SessionFactory过程中,这个过程特别耗资源的
——在hibernate操作中,建议一个项目一般创建一个SessionFactory对象
(3)具体实现:
——写个工具类,写静态代码块实现:静态代码块在类加载时候执行,执行一次
package cn.itcast.Utils;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
//工具类
public class HibernateUtils {
private static Configuration cfg = null;
private static SessionFactory sessionFactory = null;
// 静态代码块实现
static {
// 加载核心配置文件
cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
}
// 提供方法返回sessionFactory
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
- Session(重点)
(1)session类似与jdbc 中 connection(连接)
(2)调用session里面不同的方法实现 crud 操作
——添加save方法
——修改update方法
——删除delete方法
——根据 id 查询get方法
(3)session对象单线程对象
——session对象不能共用,只能自己用
- Transaction(事务对象)
(1)
(2)主要两操作:事务提交和回滚方法:
回滚:回到操作之前的状态。
(3)事务概念:事务有4个特性:原子性、一致性、隔离性、持久性
四、解决配置文件没有提示问题
(1)可以上网;
(2)把约束文件引入到MyEclipse
window——>Preferences——>,复制一句话:
上面的location:在file system里面找原来dtd资料包里面的hibernate-mapping.dtd
如果是Configuration也是可以的:
找相应的hibernate.configuration.dtd.
最好重启一下
day01完.