- 浏览: 48970 次
- 性别:
- 来自: 常州
-
最新评论
-
yi_17328214:
:idea:
js实现图片下拉列表 -
yi_17328214:
<form name="myform" ...
js实现图片下拉列表 -
seven_cuit:
今天阿里巴巴笔试就问了这个问题,竟然漏了枚举
JDK1.5新特性简介
本人的映射文件都是eclipse自动生成,包括Users.java 和 UserPK.java。 这边就不贴出来了
假如USERS表的主键为NAME字段,TEL字段和AGE字段,那么在User类中也应该存在相对应的属性和方法,映射方法如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="classweb.model.po">
<class
name="Users"
table="USERS"
>
<meta attribute="sync-DAO">false</meta>
<composite-id name="id" class="UsersPK">
<key-property
name="name"
column="NAME"
type="string"
/>
<key-property
name="tel"
column="TEL"
type="string"
/>
</composite-id>
<property
name="age"
column="AGE"
type="string"
not-null="false"
/>
</class>
</hibernate-mapping>
以下代码生成一个Users对象,并保存.
Session s = HibernateUtil.currentSession();
Transaction t = s.beginTransaction();
UsersPK usersPK = new UsersPK();
usersPK.setName(1);
usersPK.setTel(4);
Users user = new Users();
user.setAge("19");
user.setId(usersPK );
s.save(user);
t.commit();
HibernateUtil.closeSession();
System.out.println("insert success!");
更新.
Session s = HibernateUtil.currentSession();
Transaction t = s.beginTransaction();
UsersPK usersPK = new UsersPK();
usersPK.setDbid(1);
usersPK.setRowUID(4);
Users user = (Users)s.load(Users.class, usersPK);
user.setAge("20");
s.update(user);
t.commit();
HibernateUtil.closeSession();
System.out.println("update success!");
删除.
Session s = HibernateUtil.currentSession();
Transaction t = s.beginTransaction();
UsersPK usersPK = new UsersPK();
usersPK.setDbid(1);
usersPK.setRowUID(4);
Users user = (Users)s.load(Users.class, usersPK);
s.delete(user);
t.commit();
HibernateUtil.closeSession();
System.out.println("delete success!");
最后讲select
如果对复合主键中的一个主键进行查询,必须
Session s = HibernateUtil.currentSession();
Criteria c = s.createCriteria(Users.class);
c.add(Restrictions.eq("id.name", "levi"));
List list = c.list();
Iterator iter = list.iterator();
while (iter.hasNext()) {
Users item = (Users) iter.next();
System.out.println("name:" + item.getId().getName());
System.out.println("tel;" + item.getId().getTel());
System.out.println("age:" + item.getAge());
}
HibernateUtil.closeSession();
System.out.println("select success!");
这样的查询都出来了,其它的查询自己考虑吧
发表评论
-
zt-Java异常处理机制的详细讲解和使用技巧
2010-08-07 14:18 7551. 异常机制 1.1 异 ... -
可重启线程及线程池类的设计-zt
2010-08-03 13:59 1635了解JAVA多线程编程的人都知道,要产生一个线程有两种方 ... -
junit 基本教程
2010-07-22 11:35 1017Eclipse中配置junit 在要使用JUNIT的p ... -
zt-ssh优缺点分析
2010-06-18 14:20 839字号:大 中 小 Struts跟Tomcat、Turb ... -
MySQL+Hibernate下连接空闲8小时自动断开问题解决方案
2010-06-18 13:46 1396Hibernate使用C3P0的连接池 ... -
ZT-c3p0的配置解释
2010-06-18 10:49 1193找到了一个关于c3p0的配置 <c3p0-confi ... -
JDK和Tomcat环境变量配置
2010-04-24 12:31 806JDK环境变量配置: 如果你的JDK安装在C盘里 ... -
zt- synchronized 关键字
2010-01-25 15:56 749synchronized 关键字, ... -
ZT-JDK中的URLConnection使用总结
2010-01-05 13:50 753针对JDK中的URLConnection连接Servlet的问 ... -
怎样用Java来获取真实的IP地址
2010-01-03 16:23 1367摘录自:http://www.blogjava.net/wan ... -
tomcat内存溢出总结(转)
2009-12-22 16:51 669在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内 ... -
get/post时中文乱码问题的解决办法
2009-11-21 13:13 1793form有2中方法把数据提 ... -
基于表单的文件上传
2009-11-09 11:34 17901. 基于表单 ... -
struts2+spring简单配置
2009-11-04 09:35 7861,修改web.xml <!-- 配置spring 开始 ... -
java中的内存分配机制
2009-10-24 12:28 780Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函 ... -
java 中参数的传递
2009-10-23 17:46 710public static void main(Str ... -
BEA WebLogic Server® 9.2 中文帮助网站
2009-10-10 15:48 748http://edocs.weblogicfans.net/w ... -
JRE和JDK的区别浅析
2009-09-30 14:43 821JRE和JDK的含义是什么呢 ... -
Hibernate 调用JDBC执行存储过程
2009-09-28 11:04 1388public boolean procMemberInfo(i ... -
SPRING中属性SCOPE的prototype是什么意思
2009-09-28 09:50 5580默认情况下,从bean工厂所取得的实例为Singleton(b ...
相关推荐
在进行增删改查操作时,由于复合主键的存在,我们需要确保所有关联的主键值都被正确设置。例如,在保存`Enrollment`实体时,必须先设置`studentId`和`courseId`,然后才能调用`session.save()`或`session.merge()`。...
Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者无需编写大量的SQL语句,就能实现数据的增删改查。本教程将分为五个部分,逐步深入Hibernate的世界。 **第一部分:Hibernate...
03 03Hibernate_Component : 实体细粒度的划分,数据库中的一张表在程序中划分为几个部分的实体,配置文件和增、删、改、查的使用。 04 04Hibernate_Composite : 复合主键的使用,在开发中很少用到,一般良好的设计...
4. **CRUD操作**:展示如何使用Hibernate进行增删改查(Create, Read, Update, Delete)操作,包括HQL(Hibernate查询语言)和 Criteria 查询的使用。 5. **集合映射**:讨论如何处理一对多、多对一、多对多等复杂...
5. **CRUD操作**:详细阐述增删改查(Create, Read, Update, Delete)的基本方法,如save()、get()、update()、delete(),以及Query和Criteria API的使用。 6. **关联映射**:详解一对一、一对多、多对一、多对多等...
- 数据库的增删改查操作,以及复杂的关联查询和聚合函数使用。 通过研究这些源码,开发者不仅可以掌握Hibernate的基本用法,还能了解到在实际项目中如何有效地利用Hibernate来解决各种问题,提升开发效率。
手册会详细介绍如何编写HQL查询语句,使用HQL进行数据的增删改查操作,以及如何使用HQL的高级特性,如投影查询、分组、排序等。 3. 常用版本:在手册中,会涉及Hibernate v3.2这个版本中的新特性和改进,以及与之前...
DAO层直接与数据库交互,实现数据的增删改查。对于多主键的插入,关键是确保在插入前所有主键字段已经被正确赋值。由于示例代码中DAO层的具体实现被省略,我们无法给出详细的代码示例,但可以推测DAO层的实现会利用...
5. **会话和事务**:介绍如何打开和关闭会话,以及如何在会话中进行增删改查操作。同时,会涉及到事务的隔离级别和回滚规则。 6. **查询**:详细讲解HQL和Criteria API的用法,包括基本查询、条件查询、分页查询、...
Session提供了`save()`, `delete()`, `load()`, `update()`, `saveOrUpdate()`, `clear()`和`flush()`等方法,用于对象的增删改查。`load()`和`get()`的区别在于前者用于根据ID加载对象,如果不存在则抛出异常,后者...
3. **Session与Transaction管理**:Hibernate中的Session接口负责对象的持久化操作,它提供了增删改查(CRUD)的方法。Transaction则管理数据库事务,确保数据的一致性。理解Session的生命周期和事务的提交与回滚...
- **CRUD操作**:Hibernate提供了多种方法来执行增删改查操作,包括但不限于: - `save()`:保存对象。 - `delete()`:删除对象。 - `update()`:更新对象。 - `saveOrUpdate()`:保存或更新对象。 - `load()`...
4. **Session接口**:介绍Session在Hibernate中的作用,它是数据库会话的代表,讲解如何打开、关闭Session,以及Session中的增删改查(CRUD)操作。 5. **Transaction管理**:讨论Hibernate的事务处理,包括显式和...
ORM允许开发者将数据库中的表映射为Java对象,通过对象的操作来完成数据的增删改查,降低了对SQL语言的依赖。林信良在教程中详细讲解了Hibernate如何实现这一过程,包括实体类的创建、持久化元数据的定义(如XML配置...
- 使用SessionFactory和Session接口来打开和关闭数据库连接,执行数据的增删改查操作。 - **第二部分:关联映射** - **映射Person类:** - 实现一对多、多对多等关联关系的映射。 - **单向Set-based的关联:** ...
- **业务逻辑层**:负责处理具体的业务逻辑,如对学生对象的增删改查等操作。 - **数据持久层**:负责屏蔽数据库的具体操作细节,向业务逻辑层提供API接口。该层使得业务逻辑层能够以面向对象的方式操作数据,而无需...
它提供了一种声明式的方式来处理数据库交互,使得开发人员无需编写大量的SQL代码,就能实现数据的增删改查。Spring JPA通过Repository接口抽象了数据访问层,使得业务逻辑代码更加专注于业务本身,而不是数据库操作...
- **增删改查操作**:演示如何使用NHibernate进行基本的数据增删改查操作。 - **事务处理**:确保数据的一致性和完整性。 ##### 1.5 完成 - **总结**:回顾整个过程,并指出下一步可以优化的方向。 #### 二、架构...
多对多关系可以进行添加、删除、查找等操作,JPA会自动处理中间表的增删改查。 **15. JPA中的联合主键** 联合主键使用@EmbeddedId和@Embeddable注解,将多个字段组合成一个复合主键,适用于那些不满足单一主键条件...