Hibernate配置(核心配置文件.cfg.xml 和映射配置文件.hbm.xml)(对象-关系映射 Object Relational Mapping)
分層體系結(jié)構(gòu):
耦合性(依賴)
持久化層(數(shù)據(jù)訪問層)
對象-關(guān)系映射(Object Relational Mapping,簡稱ORM),是隨著面向?qū)ο蟮能浖_發(fā)方法發(fā)展而產(chǎn)生的。用來把域模型表示的對象映射到關(guān)系數(shù)據(jù)模型對應(yīng)的數(shù)據(jù)庫結(jié)構(gòu)中去。
Hibernate是什么?
注意核心配置文件.cfg.xml 和映射配置文件.hbm.xml的根目錄:
1. .cfg.xml 根目錄:hibernate-configuration
2. .hbm.xml 根目錄: hibernate-mapping
總結(jié):
Configuration cfg=new Configuration().configure();SessionFactory factory=cfg.buildSessionFactory();Session session=factory.openSession();Transaction tran=session.beginTransaction();Hibernate API操作流程
Configuration cfg=new Configuration().configure().
SessionFactory factory=cfg.buildSessionFactory();
Session session=factory.openSessin();
Transaction tran=session.beginTransaction();
save()、update()、delete()、get()/load()
tran.commit();
close();
Hibernate核心類和接口
orm思想 對象-關(guān)系映射(Object Relational Mapping)
Hibernate創(chuàng)建過程
在這里插入代碼片
public class Testcx {/*** 04.04 測試類--->主要測試程序功能實現(xiàn)情況*/public Testcx() {// TODO Auto-generated constructor stub}public static void main(String[] args) {save();//saveProducts();//updateProduct();//deleteProduct();// findAllProduct();// findProductByprice(22);//find();}/** * 實現(xiàn)商品列表功能(根據(jù)價格查詢)--->該方法參數(shù)是價格,根據(jù)參數(shù)查詢表中滿足條件的數(shù)據(jù); hibernate中查詢語句占位符的下標(biāo)是從0開始的;*/public static void saveProducts() {Product p1 = new Product();p1.setName("沙田柚");p1.setDescription("香");p1.setPrice(11);Product p2 = new Product();p2.setName("包子");p2.setDescription("可以有");p2.setPrice(22);ProductService ps = new ProductService();ps.save(p1, p2);System.out.println(p1.getName());}private static void save() {Session session = null;Transaction tran = null;try {session = HibernateUtil.getCurrentSession();tran = session.beginTransaction();// ---------------------------------Product p1 = new Product();p1.setName("桂林米粉");p1.setDescription("香");p1.setPrice(11);Product p2 = new Product();p2.setName("豬肉脯");p2.setDescription("可以有");p2.setPrice(22);session.save(p1);session.save(p2);// ---------------------------------tran.commit();} catch (Exception e) {e.printStackTrace();tran.rollback();} finally {if (null != session) {session.close();}}}private static void find() {// TODO Auto-generated method stub// TODO Auto-generated method stubSession session = null;Transaction tran = null;Product p = null;try {session = HibernateUtil.getCurrentSession();tran = session.beginTransaction();// ---------------------------------// 查找Product對象p = session.load(Product.class, 2);System.out.println(p.getDescription());p.setName("蘋果");// ---------------------------------tran.commit();} catch (Exception e) {e.printStackTrace();tran.rollback();} finally {if (null != session) {session.close();}}}/** * 實現(xiàn)商品刪除功能*/public static void deleteProduct() {// TODO Auto-generated method stubSession session = null;Transaction tran = null;try {session = HibernateUtil.getCurrentSession();tran = session.beginTransaction();// ---------------------------------// 查找Product對象Product p = session.load(Product.class, 2);//如果查詢的id不存在會報異常 get方法會報NullSystem.out.println(p.getDescription());session.delete(p);// ---------------------------------tran.commit();} catch (Exception e) {e.printStackTrace();tran.rollback();} finally {if (null != session) {session.close();}}}/** 實現(xiàn)商品修改功能* */public static void updateProduct() {Session session = null;Transaction tran = null;try {session = HibernateUtil.getCurrentSession();tran = session.beginTransaction();// ---------------------------------// 查找Product對象Product p = session.load(Product.class, 1);p.setDescription("這個東西難得的好吃");session.update(p);System.out.println(p.getDescription());// 保存// session.save(p);// ---------------------------------tran.commit();} catch (Exception e) {e.printStackTrace();tran.rollback();} finally {if (null != session) {session.close();}}}}總結(jié)
以上是生活随笔為你收集整理的Hibernate配置(核心配置文件.cfg.xml 和映射配置文件.hbm.xml)(对象-关系映射 Object Relational Mapping)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过1997年拓荒者号飞行器事件理解优先
- 下一篇: MPV播放器 快捷键