hibernate框架的Configuration的作用是什么?
hibernate框架的Configuration的作用是什么?Configuration这个类什么时候被调用?...
hibernate框架的Configuration的作用是什么?
Configuration这个类什么时候被调用? 展开
Configuration这个类什么时候被调用? 展开
4个回答
展开全部
Configuration是一个入口,hibernate通过它来获得配置文件。
若使用属性文件配置Hibernate,则默认文件名是hibernate.properties,hibernate通过调用代码"Configuration config = new Configuration()"在classpath下面寻找hibernate.properties文件,如果没有找到该文件,系统会抛出HibernateException异常;
若使用XML文件配置,则默认文件名是hibernate.cfg.xml,通过调用"Configuration cfg=new Configuration().configure()"在classpath下面寻找hibernate.cfg.xml文件,若找不到该文件,抛出HibernateException异常。
以下是我写图书管理系统时的一个小例子,稍稍简化了一下,看了这个对Configuration应该会理解一些:
数据库中有一个名为Book的数据表,有book_name(书名)、book_writer(作者)、book_price(单价)三个属性,在Eclipse中可以用以下语句对其进行更新(下列语句中的参数book_name、book_writer、book_price均为已知,一般来说是提交后的表单值)。
添加新图书——
try{
/*
* 准备持久化的操作
*/
//读取hibernate.cfg.xml配置文件,生成SessionFactory对象
Configuration cfg=new Configuration().configure();
//产生生产Session的工厂,工厂的名字是从hibernate.cfg.xml读取的
SessionFactory sf=cfg.buildSessionFactory();
//建立session对象hs,Session接口用来操作PO的更新、删除等操作,是Hibernate的核心
Session hs=sf.openSession();
//开始事务,Transaction对象保存操作结果到数据库
Transaction ts=hs.beginTransaction();
/*
* 建好PO的实例,此时为临时状态
*/
Book b=new Book();
b.setBook_name(book_name);
b.setBook_writer(book_writer);
b.setBook_price(book_price);
/*
* 进行插入操作,把它由临时状态变为持久化状态(将结果保存到数据库)
*/
hs.save(b);
ts.commit();//提交
hs.close();
return SUCCESS;//图书添加成功,跳转到相应处理页面
}catch(HibernateException e){
e.printStackTrace();
return ERROR; //图书添加失败,跳转到相应处理页面
若使用属性文件配置Hibernate,则默认文件名是hibernate.properties,hibernate通过调用代码"Configuration config = new Configuration()"在classpath下面寻找hibernate.properties文件,如果没有找到该文件,系统会抛出HibernateException异常;
若使用XML文件配置,则默认文件名是hibernate.cfg.xml,通过调用"Configuration cfg=new Configuration().configure()"在classpath下面寻找hibernate.cfg.xml文件,若找不到该文件,抛出HibernateException异常。
以下是我写图书管理系统时的一个小例子,稍稍简化了一下,看了这个对Configuration应该会理解一些:
数据库中有一个名为Book的数据表,有book_name(书名)、book_writer(作者)、book_price(单价)三个属性,在Eclipse中可以用以下语句对其进行更新(下列语句中的参数book_name、book_writer、book_price均为已知,一般来说是提交后的表单值)。
添加新图书——
try{
/*
* 准备持久化的操作
*/
//读取hibernate.cfg.xml配置文件,生成SessionFactory对象
Configuration cfg=new Configuration().configure();
//产生生产Session的工厂,工厂的名字是从hibernate.cfg.xml读取的
SessionFactory sf=cfg.buildSessionFactory();
//建立session对象hs,Session接口用来操作PO的更新、删除等操作,是Hibernate的核心
Session hs=sf.openSession();
//开始事务,Transaction对象保存操作结果到数据库
Transaction ts=hs.beginTransaction();
/*
* 建好PO的实例,此时为临时状态
*/
Book b=new Book();
b.setBook_name(book_name);
b.setBook_writer(book_writer);
b.setBook_price(book_price);
/*
* 进行插入操作,把它由临时状态变为持久化状态(将结果保存到数据库)
*/
hs.save(b);
ts.commit();//提交
hs.close();
return SUCCESS;//图书添加成功,跳转到相应处理页面
}catch(HibernateException e){
e.printStackTrace();
return ERROR; //图书添加失败,跳转到相应处理页面
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
展开全部
在hibernate框架中配置时候就会被调用啊 你应该也有一个配置文件Hibernate.cfg.xml好像有这样的配置文件 当程序一执行时就会调用那个类。因为你可以观察一下那个配置文件 他默认的情况下也有<Configuration><Configuration/>这样一个开始和结束的配置
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟你的配制文件有关 就读取配制文件或类中的注释 若你单独用HIBERNATE时 你要手动初始化 那时候被调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取配置信息初始化session
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询