Hibernate逍遥游记-第2章-使用hibernate.properties
1.
1 package mypack; 2 3 import org.hibernate.*; 4 import org.hibernate.cfg.Configuration; 5 import java.util.*; 6 7 public class BusinessService{ 8 public static SessionFactory sessionFactory; 9 10 /** 初始化Hibernate,创建SessionFactory实例 */ 11 static{ 12 try{ 13 // 根据默认位置的Hibernate配置文件的配置信息,创建一个Configuration实例 14 Configuration config = new Configuration(); 15 //加载Monkey类的对象-关系映射文件 16 config.addClass(Monkey.class); 17 // 创建SessionFactory实例 18 sessionFactory = config.buildSessionFactory(); 19 SessionFactory sessionFactory2 = config.buildSessionFactory(); 20 System.out.println("---------->"+(sessionFactory2==sessionFactory)); 21 22 }catch(RuntimeException e){e.printStackTrace();throw e;} 23 } 24 25 /** 查询所有的Monkey对象,然后打印Monkey对象信息 */ 26 public void findAllMonkeys(){ 27 Session session = sessionFactory.openSession(); //创建一个会话 28 Transaction tx = null; 29 try { 30 tx = session.beginTransaction(); //开始一个事务 31 Query query=session.createQuery("from Monkey as m order by m.name asc"); 32 List monkeys=query.list(); 33 for (Iterator it = monkeys.iterator(); it.hasNext();) { 34 Monkey monkey=(Monkey) it.next(); 35 System.out.println("ID="+monkey.getId() 36 +",姓名="+monkey.getName() 37 +",年龄="+monkey.getAge() 38 +",性别="+(monkey.getGender()=='M'?"公猴":"母猴")); 39 } 40 41 tx.commit(); //提交事务 42 43 }catch (RuntimeException e) { 44 if (tx != null) { 45 tx.rollback(); 46 } 47 throw e; 48 } finally { 49 session.close(); 50 } 51 } 52 53 /** 持久化一个Monkey对象 */ 54 public void saveMonkey(Monkey monkey){ 55 Session session = sessionFactory.openSession(); 56 Transaction tx = null; 57 try { 58 tx = session.beginTransaction(); 59 session.save(monkey); 60 tx.commit(); 61 62 }catch (RuntimeException e) { 63 if (tx != null) { 64 tx.rollback(); 65 } 66 throw e; 67 } finally { 68 session.close(); 69 } 70 } 71 72 /** 按照OID加载一个Monkey对象,然后修改它的属性 */ 73 public void loadAndUpdateMonkey(Long monkey_id,int age){ 74 Session session = sessionFactory.openSession(); 75 Transaction tx = null; 76 try { 77 tx = session.beginTransaction(); 78 79 Monkey m=(Monkey)session.get(Monkey.class,monkey_id); 80 m.setAge(age); 81 tx.commit(); 82 83 }catch (RuntimeException e) { 84 if (tx != null) { 85 tx.rollback(); 86 } 87 throw e; 88 } finally { 89 session.close(); 90 } 91 } 92 93 /**删除Monkey对象 */ 94 public void deleteMonkey(Monkey monkey){ 95 Session session = sessionFactory.openSession(); 96 Transaction tx = null; 97 try { 98 tx = session.beginTransaction(); 99 session.delete(monkey); 100 tx.commit(); 101 102 }catch (RuntimeException e) { 103 if (tx != null) { 104 tx.rollback(); 105 } 106 throw e; 107 } finally { 108 session.close(); 109 } 110 } 111 112 public void test(){ 113 Monkey monkey=new Monkey(); 114 monkey.setName("智多星"); 115 monkey.setAge(1); 116 monkey.setGender('M'); 117 118 saveMonkey(monkey); 119 120 findAllMonkeys(); 121 loadAndUpdateMonkey(monkey.getId(),2); 122 findAllMonkeys(); 123 deleteMonkey(monkey); 124 findAllMonkeys(); 125 } 126 127 public static void main(String args[]){ 128 new BusinessService().test(); 129 sessionFactory.close(); 130 } 131 }
2.
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC 3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 5 6 <hibernate-mapping> 7 <class name="mypack.Monkey" table="MONKEYS"> 8 9 10 <id name="id" column="ID" type="long"> 11 <generator class="increment"/> 12 </id> 13 <property name="name" column="NAME" type="string" not-null="true" /> 14 <property name="age" column="AGE" type="int" /> 15 <property name="gender" column="GENDER" type="character"/> 16 </class> 17 18 </hibernate-mapping>
3.
1 hibernate.dialect=org.hibernate.dialect.MySQLDialect 2 hibernate.connection.driver_class=com.mysql.jdbc.Driver 3 hibernate.connection.url=jdbc:mysql://localhost:3306/SAMPLEDB?useUnicode=true&characterEncoding=GBK 4 hibernate.connection.username=root 5 hibernate.connection.password=1234 6 hibernate.show_sql=true
4.
转载于:https://www.cnblogs.com/shamgod/p/5296260.html
Hibernate逍遥游记-第2章-使用hibernate.properties相关推荐
- 《Java逍遥游记》
<Java逍遥游记>精彩章节下载 序 转眼之间,我在Java领域从事了八年多的创作了.在这八年中,我在Java的各个领域里遨游驰骋,既要探索各种技术的宏观架构和运用技巧,又要细细品味每种技 ...
- java逍遥游记 下载_Hibernate逍遥游记 孙卫琴著 PDF下载
<Java开发专家•Hibernate逍遥游记(附CD-ROM光盘1张)>Hibernate是非常流行的对象一关系映射工具.<Java开发专家•Hibernate逍遥游记(附CD-R ...
- hibernate mysql 外键_如何在hibernate中设置关联会在数据库中生成外键
hibernate学习笔记(三) hibernate的一些杂记:1.sessionFactory的用法:SessionFactory是线程安全的,构造 SessionFactory 很消耗资源sess ...
- HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档
Hibernate参考文档 3.1.2 目录 前言 1. 翻译说明 2. 版权声明 1.Hibernate入门 1.1.前言 1.2.第一部分-第一个Hibernate应用程序 1.2.1.第一个cl ...
- java hibernate详细_Java事务管理学习之Hibernate详细介绍
hibernate是jdbc轻量级的封装,本身不具备事务管理的能力,在事物管理层面,一般是委托于底层的jdbc和jta来完成调度的.下面这篇文章主要给大家介绍了Java事务管理学习之Hibernate ...
- hibernate 一对多_java面试题之Hibernate
1.为什么要使用 hibernate? hibernate 是对 jdbc 的封装,大大简化了数据访问层的繁琐的重复性代码. hibernate 是一个优秀的 ORM 实现,很多程度上简化了 DAO ...
- Hibernate 中配置属性详解(hibernate.properties)
转自:https://blog.csdn.net/shudaqi2010/article/details/70324843 Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数 ...
- hibernate正向生成数据库表以及配置——hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hib ...
- Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解...
在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...
最新文章
- Linux drm显示系统的两种方案
- 前端的各种各样的面试题大全
- Could not obtain transaction-synchronized Session for current thread
- ML之FE:利用FE特征工程(单个特征及其与标签关系的可视化)对RentListingInquries(Kaggle竞赛)数据集实现房屋感兴趣程度的多分类预测
- 使用yml多环境配置
- 【ORACLE 高可用】使用GOLDENGATE 配置Oracle-MySQL的异构复制
- MySQL深度剖析之索引专题(2021)
- JS将/Date(1446704778000)/转换成string
- android eclipse clean 变异,Run a clean Android build from Eclipse?
- 计算机系统基础袁春风试题,计算机系统基础习题解答与教学指导
- express基本使用步骤
- c语言求100以内偶数和while,c语言 求1到100以内的偶数之和
- [初级理论]给老婆做测试培训-02
- 【MySQL】navicat for mysql 安装及使用
- python提取cad坐标_教你一个CAD坐标提取的小技巧
- 均值,期望,方差,标准差,协方差
- 设计模式初探-观察者模式
- 使用SOCK_PACKET编写ARP请求程序的例子
- 电子白板无法触摸怎么办?
- 1087 花括号展开
热门文章
- deepin中zz_如何解决R中的FizzBu​​zz问题
- 《成为一名机器学习工程师》_如何在2020年成为机器学习工程师
- 房贷是不是越多越久越好?
- 4bit超前进位加法器电路
- 变电站计算机监控系统的作用和工作原理,变电站计算机监控系统的主要功能.pdf...
- Linux vim 的编码格式,linux下的文件编码,vim编码
- 通过服务器给多台计算机装系统,怎么快速给机房多台电脑安装系统?
- android自定义游戏闯关图,Android自定义View(四) -- Canvas
- python特征工程插件_手把手教你用Python实现自动特征工程
- 用linq查询html中div个数,C#使用Linq to XML进行XPath查询