这两天都在研究Hibernate,大师们说有多好用我就看有多好用,不想说太多,以下是插入和读取的两个实例片段:
动作类(业务类):
Public Class ServiceAncestor{
public List query(String hql) throws Exception {//用于查询
ArrayList list = new ArrayList(0);
try {
session = factory.openSession();
query = session.createQuery(hql);
list = (ArrayList)query.list();
} catch (Exception e) {
logger.error(e);
throw e;
} finally {
list.trimToSize();
closeSession();
}
return list;
}
public void insert(Object tableBean) throws Exception {//用于插入
try {
session = factory.openSession();
tx = session.beginTransaction();
//
session.clear();
session.save(tableBean);
session.flush();
//
tx.commit();
} catch (Exception e) {
System.out.println("Hibernate插入的时候错啦::!!!"+e);
e.printStackTrace();
logger.error(e);
tx.rollback();
throw e;
} finally {
closeSession();
}
}
}
读取并显示数据的jsp片段:
<%
try {
ServiceAncestor sa = new ServiceAncestor();
String hql = "select contribute.IName,contribute.IAmount,contribute.ILovemess from Contribute contribute";
List list = sa.query(hql);
for(int i = 0;i<list.size();i++){
Object[] obj=(Object[])list.get(i);
System.out.println(obj[0]);
}
}catch (HibernateException err) {
System.out.println("Hinernate查询父亲出错了啦!"+err);
err.printStackTrace();
}
%>
插入数据jsp片段:
try {
ServiceAncestor sa = new ServiceAncestor();
Contribute contribute = new Contribute();
contribute.setStan("8");
System.out.println("Stan::"+contribute.getStan());
contribute.setIName(ctbName);
System.out.println("Name::"+contribute.getIName());
contribute.setCreatedt(new java.util.Date());
System.out.println("Createdt::"+contribute.getCreatedt());
contribute.setIAddres(ctbAdder);
System.out.println("address|:;"+contribute.getIAddres());
contribute.setIAmount(ctbMoney);
System.out.println("money::"+contribute.getIAmount());
contribute.setTel(ctbNumber);
System.out.println("number::"+contribute.getTel());
contribute.setILovemess(comment);
System.out.println("comment::"+contribute.getILovemess());
sa.insert(contribute);
} catch (HibernateException err) {
System.out.println("Hinernate出错了!"+err);
err.printStackTrace();
}
完毕~~
分享到:
相关推荐
在IT行业中,数据库管理和数据操作是至关重要的环节。在给定的标题和描述中,我们关注的是一个使用Hibernate框架来实现的XML数据读取及省市区三级数据的数据库插入过程。接下来,我们将深入探讨这个话题。 首先,...
MyBatis的多数据源配置可以通过配置多个MapperFactoryBean和DataSource来实现,每个数据源对应一个特定的配置文件和数据连接。 在Spring Boot 2中,实现多数据源的基本步骤包括: 1. **配置DataSource**:创建两个...
在源码实例中,你可以看到如何在代码层面与二级缓存进行交互,例如通过SessionFactory的getCache()方法来读取或插入数据。同时,注意在多线程环境下,合理控制并发访问,防止数据一致性问题。 二级缓存虽然能提高...
同时,为了初始化数据,我们可能还需要一个HQL(Hibernate查询语言)脚本或者SQL脚本来创建表和插入初始数据。 总的来说,这个“hibernate 多对多 映射实例,学生 选课”项目涵盖了Hibernate的多对多关系映射、...
本实例将深入探讨Hibernate的核心概念和常用功能,帮助你更好地理解和应用Hibernate。 一、Hibernate简介 Hibernate 是一个开源的ORM框架,它通过提供对象-关系映射工具,消除了Java应用程序与关系数据库之间的转换...
【hibernate+struts2简单实例入门】 ...通过阅读源代码和理解上述步骤,初学者可以快速掌握Hibernate和Struts2的整合应用,实现数据的插入功能。这是一个很好的实践项目,有助于加深对这两种框架的理解。
在实践中,`HibernateDemo`可能包含一个简单的数据库模型,例如用户管理,其中包含用户实体类、对应的数据库表以及创建、读取、更新和删除用户的方法。通过运行这个示例,开发者可以直观地了解Hibernate如何简化...
4. **缓存机制**:Hibernate支持二级缓存,提高数据读取速度,降低数据库负载。 在SSH整合项目中,通常会将Struts 2的Action作为Spring的Bean管理,由Spring负责Action的实例化和依赖注入。同时,Hibernate的...
在本实例中,你将学习如何配置Hibernate 3,创建实体类,以及使用Session接口进行数据的CRUD(创建、读取、更新、删除)操作。 2. **对象关系映射(ORM)**: ORM是Hibernate的核心特性,它通过映射文件将Java对象和...
- 插入数据:save()和saveOrUpdate()方法。 - 查询数据:get()、load()、find()等方法,以及HQL(Hibernate Query Language)和Criteria API。 - 更新数据:update()和merge()方法。 - 删除数据:delete()方法。...
Hibernate支持创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据。`save()`, `update()`, `delete()`分别对应这些操作,而`load()`和`get()`用于根据ID获取对象。 9. **懒加载(Lazy Loading)与...
标题“Hibernate基础和入门:新建表和插入表”表明这篇内容将主要围绕Hibernate这一Java持久化框架的基础知识展开,重点讲解如何使用Hibernate创建数据库表以及进行数据插入操作。Hibernate是一个强大的ORM(对象...
本实例代码旨在为初学者提供一个基础的Hibernate使用教程,帮助理解其基本概念和操作流程。 ### Hibernate概述 Hibernate 是一个开源的ORM框架,它将Java类与数据库表关联,通过对象的方式来处理数据库的CRUD(创建...
3. **Session**: Hibernate的Session接口是操作数据库的主要接口,负责对象的创建、读取、更新和删除(CRUD)操作。 4. **Transaction**: Hibernate支持事务管理,确保数据库操作的一致性和完整性。 5. **查询...
这个入门实例将带你了解如何配置Hibernate、创建实体类、定义数据映射,并实现数据的插入功能。 **1. Hibernate框架概述** Hibernate是Java开发中广泛使用的ORM框架,它可以将Java对象与数据库表进行映射,避免了...
- **读取(Read)**:使用`get()`或`load()`方法根据ID获取实体,或者使用`createQuery()`或`createCriteria()`执行HQL(Hibernate查询语言)或SQL查询。 - **更新(Update)**:修改实体对象的属性后,调用`...
本文将详细探讨使用Java与MySQL实现图片数据的保存与读取的实例。 首先,我们要理解图片数据的两种常见存储方式:二进制文件存储(Blob类型)和URL链接存储。在Java中,MySQL的JDBC驱动提供了处理Blob类型数据的...
2. **读取图片**: 为了将图片数据转换成`byte[]`,我们可以使用`FileInputStream`读取图片文件,并将其转换为字节数组。 ```java File file = new File("path_to_your_image.jpg"); FileInputStream fis = new ...
FOR UPDATE`语句查询刚插入的BLOB,这里的`FOR UPDATE`关键字非常重要,它确保了数据的一致性和完整性,防止其他事务在读取过程中进行修改。 - **写入数据**:一旦获取到BLOB的游标,就可以使用`BLOB....
3. **ORM实践**:学习使用Hibernate的实体类、映射文件和SessionFactory,进行CRUD(创建、读取、更新和删除)操作。 4. **模板引擎使用**:了解Velocity模板语言,如何在模板中插入Java代码并生成动态内容。 5. **...