深入学习Hibernate4_03-通过 Hibernate API 访问数据库
来源:互联网 发布:mac 3d动画制作软件 编辑:程序博客网 时间:2024/05/18 02:21
闲话少说,来看代码:
//读取配置文件Configuration cf = new Configuration().configure();//把Hibernate的所有配置信息,注册到ServiceRegistry接口中去ServiceRegistry srb = new ServiceRegistryBuilder().applySettings(cf.getProperties()).buildServiceRegistry();//创建回话工厂SessionFactory sessionFactory = cf.buildSessionFactory(srb);//打开会话Session session = sessionFactory.openSession();//打开事务Transaction tr = session.beginTransaction();//增CourseSelectUser user = new CourseSelectUser();user.setUserCard("xxxxxxxx");user.setUserName("2017");user.setUserNumber("100");session.save(user);tr.commit();//提交事务//查CourseSelectUser courseSelectUser= (entity.CourseSelectUser) session.get(CourseSelectUser.class, 1);//删除 ,先把要删除的对象查出来,然后才能删除CourseSelectUser courseUser= (entity.CourseSelectUser) session.get(CourseSelectUser.class, 1);session.delete(courseUser);tr.commit(); //提交事务//修改 ,同样也是先把对象查询出来,然后再修改CourseSelectUser courseuser= (entity.CourseSelectUser) session.get(CourseSelectUser.class, 1);courseuser.setUserAddress("上海市静安区延安中路");courseuser.setUserEmail("zybgcs@126.com");session.update(courseuser);tr.commit(); //提交事务session.close(); //关闭会话
以上代码就是以操作对象的方式对数据库的数据进行增、删、改、查的操作,读者阅读的时候注意,增删改查是需要单个写开的,我在这里偷个懒,写在了一起。
下面来介绍一下几个关键点:
1.Configuration 类
- Configuration 类负责管理 Hibernate 的配置信息。包括如下内容:
- Hibernate 运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等(对应 hibernate.cfg.xml 文件)。
- 持久化类与数据表的映射关系(*.hbm.xml 文件)
- 创建 Configuration
- Xml文件(hibernate.cfg.xml) Configuration cfg = new Configuration().configure();
2.SessionFactory 接口
1. 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。
2. SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息
3. SessionFactory是生成Session的工厂
4. 构造 SessionFactory 很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory 对象。
5. Hibernate4 新增 ServiceRegistry 接口,所有基于 Hibernate 的配置或者服务都必须统一向
6.这个 ServiceRegistry 注册后才能生效
3.Session 接口
Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作。此对象的生命周期很短。Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久层操作的数据都缓存在 session 对象处。相当于 JDBC 中的 Connection。
4.Transaction(事务)
代表一次原子操作,它具有数据库事务的概念。所有持久层都应该在事务管理下进行,即使是只读操作。
Transaction tx = session.beginTransaction();
常用方法:
commit():提交相关联的session实例
rollback():撤销事务操作
wasCommitted():检查事务是否提交
阅读全文
0 0
- 深入学习Hibernate4_03-通过 Hibernate API 访问数据库
- hibernate 通过API访问数据库
- 通过hibernate API编写访问数据库的代码
- 通过 Hibernate API 编写访问数据库的代码
- 通过Hibernate API编写访问数据库的代码
- 通过Hibernate API操纵数据库
- hibernate入门第五课 通过Hibernate API编写访问数据库代码并使用junit进行单元测试
- 跳过hibernate获取DBConnection工具类,通过JDBC API访问数据库
- hibernate 学习(二)创建hibernate的配置文件和通过hibernateAPI访问数据库
- 直接通过 ODBC API 访问 SQL 数据库
- 直接通过 ODBC API 访问 SQL 数据库
- 直接通过ODBC API访问SQL数据库
- 通过JDBC API 访问mysql数据库的servlet范例程序
- 通过ODBC API实现对数据库的访问(转)
- 通过MySQL提供的C API访问MySQL数据库
- 实战DeviceIoControl 之一:通过API访问设备驱动程序(学习)
- 通过MySQL C API界面(mysql自己提供的API方式访问mysql数据库)
- 深入理解hibernate中的API
- 装饰模式与代理模式的区别
- GO语言map
- HTML如何禁止文本框输入
- Torch CMulTable 和 CAddTable 实例
- gradle概述和项目构建工具介绍
- 深入学习Hibernate4_03-通过 Hibernate API 访问数据库
- 标准XML解析与文档生成(一)
- Android Hook框架Xposed入门
- 一台主机部署lamp(CentOS-7,httpd2.4,mariaDB,php-fpm)
- Linux mount命令
- CSS中的position属性(定位)
- oracle中Rman增量备份下各级别level的区别
- 在Golang中获取系统的磁盘空间内存占用
- R语言爬虫之——RCurl