- 浏览: 1505393 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
有的时候往一个别的字段特别多!但是在某些特定的情况下并没有必要插入全部字段!如果不加以控制
就会耗内存!所以hibernte添加了自定的sql语句的配置
如果不想在insert或update语句中包括所有属性,则可以在属性定义时 加上insert ="false"或update="false"如下:
<hibernate-mapping>
<class name="com.yohn.hibernate.Students" table="students">
<id name="SId" type="java.lang.Integer">
<column name="s_id" />
<generator class="native" />
</id>
<property name="SName" type="java.lang.String">
<column name="s_name" length="20" not-null="true" />
</property> //记住设置这里不然会异常
<property name="SRemark" type="java.lang.String" update="false" insert="false">
<column name="s_remark"/>
</property>
<!-- 定义语句-->
<!-- 定义语句-->
<sql-insert>
insert into students (s_name) values (?)
</sql-insert>
Hibernate允许我们在映射文件里控制insert和update语句的内容.比如在映射文件中<property 元素中的update属性设置成为false,那么这个字段,将不被包括在基本的update语句中,修改的时候,将不包括这个字段了.insert同理.dynamic动态SQL语句的配置也是很常用的.下面介绍配置SQL语句的具体属性:
1)<property>元素 insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入,默认true
2)<property>元素 update属性:设置为false,在update语句中不包含这个字段,表示永远不会被修改,默认true
3)<class>元素 mutable属性:设置为false就是把所有的<property>元素的update属性设置为了false,说明这个对象不会被更新,默认true
4)<property>元素 dynamic-insert属性:设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false
5)<property>元素 dynamic-update属性,设置为true,表示update对象的时候,生成动态的update语句,如果这个字段的值是null就不会被加入到update语句中,默认false
6)<class>元素 dynamic-insert属性:设置为true,表示把所有的<property>元素的dynamic-insert属性设置为true,默认false
7)<class>元素 dynamic-update属性:设置为true,表示把所有的<property>元素的dynamic-update属性设置为true,默认false
Hibernate生成动态SQL语句的消耗的系统资源(比如CPU,内存等)是很小的,所以不会影响到系统的性能,如果表中包含N多字段,建议把dynamic-update属性和insert属性设置为true,这样在插入和修改数据的时候,语句中只包括要插入或者修改的字段.可以节省SQL语句的执行时间,提高程序的运行效率
<sql-update>
update students set s_name=? where s_id=?
</sql-update>
<sql-delete>
delete from students where s_id = ?
</sql-delete>
</class>
</hibernate-mapping>
===
50个字段以上情况
发表评论
-
自定义用户类(UserType)的使用
2011-08-04 10:46 1872学习hibernate有段时间了,最近复习这门技术时看到了自定 ... -
技巧:利于ThreadLocal模式管理Session
2011-08-02 10:31 1268在利用Hibernate开发DAO模块时,我们和Session ... -
Hibernate中的回调与拦截机制
2011-07-27 17:31 1462在某些情况下,我们需要对实体的CURD操作进行捕获并执行一些操 ... -
HibernateTemplate中HibernateCallback的事务
2011-07-04 14:41 1449目的:使用HibernateTemplate执行execute ... -
Hibernate的复杂用法HibernateCallback
2011-07-04 14:40 1342HibernateTemplate还提供一种更加灵活的方式来操 ... -
Hibernate session FlushMode有五种属性
2011-07-04 13:59 17331、NEVER:已经废弃了,被MANUAL取代了2 MANUA ... -
数据库持久层——浅谈hibernate中的Session
2011-07-01 22:49 1670大多数情况下,Session 管理的目标聚焦于通过合理的设 ... -
详解Hibernate Session
2011-07-01 22:42 1498这里介绍Hibernate Session,Ses ... -
HttpSession与Hibernate中Session的区别
2011-07-01 22:41 1296一、javax.servlet.http.HttpSess ... -
巧用SQLQuery中的addScalar
2011-06-02 17:16 5747当我们用HQL进行子查询的时候,如select * from ... -
hibernate中SQLQuery的addEntity();方法
2011-04-13 14:48 2895如果使用原生sql语句进行query查询时,hibernate ... -
Hibernate的clear(),flush(),evict()方法详解
2011-03-24 11:18 17741.Clear 方法 无论是Load 还是 G ... -
hibernate模糊查询-Restrictions.ilike & Expression.like
2011-03-11 10:32 16362Criteria criteria = session.c ... -
Hibernate分页查询小结
2011-03-10 11:14 1831通常使用的Hibernate通常是三种:hql查询,QBC查询 ... -
current_session_context_class
2011-03-07 15:31 1297此设置的作用如下: What does sessionFac ... -
Hibernate的拦截器和监听器
2010-12-14 15:06 1388核心提示:最近项目需要,用到了Hibernate的拦截器和 ... -
孙卫琴.精通Hibernate:Java对象持久化技术详解_触发器使缓存与数据库不一致
2010-12-14 08:46 1395p198 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_优化报表查询的性能
2010-12-13 17:51 1275p332 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_查询结果类型
2010-12-13 17:34 1307p329 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_投影查询
2010-12-13 17:31 1426p325
相关推荐
在数据库管理中,INSERT和UPDATE语句是两个非常基础且重要的操作。它们分别用于向数据库中插入新的数据和更新已存在的数据。这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或...
3. **生成SQL语句**:工具根据用户输入的查询条件,智能分析并生成相应的INSERT语句和UPDATE语句。INSERT语句用于在数据库中新增记录,而UPDATE语句则用于修改已存在的记录。这两类语句是数据库操作中最基本也是最...
Oracle 多表 Update 语句详解 在 Oracle 中,Update 语句是数据库操作中的重要组成部分。 Update 语句可以对数据库中的数据进行...这些知识点可以帮助我们更好地理解和使用 Oracle 中的 Update 语句和 Insert 语句。
此类应用程序通常包含交互式界面,用户可以通过它连接到数据库,选择表,然后生成所需的INSERT和UPDATE语句。 5. "DataBase.config": 这可能是一个配置文件,存储了数据库连接信息,如服务器地址、数据库名称、...
首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...
C# 自定义方法 buildsql(insert ,update),数据类型转换,按钮绑定,控件设置,直接调用 使用
"LINQ体验——LINQ to SQL语句之Insert/Update/Delete操作" 在本篇文章中,我们将继续讨论LINQ to SQL语句,重点介绍Insert/Update/Delete操作,这些操作在我们的程序中是最常用的。下面,我们将通过多个示例来详细...
综上所述,INSERT和UPDATE语句是MySQL数据库操作的核心,它们允许开发者动态地添加和修改数据库中的数据。而REPLACE语句则提供了一种处理数据冲突的策略,确保数据的唯一性。了解并熟练掌握这些语句,对于有效地管理...
在数据库管理中,UPDATE、INSERT 和 DELETE 是三个非常重要的 SQL 语句,它们分别用于修改、添加和删除数据。在本实验中,我们将通过实际操作来深入理解这三个语句的用法。 首先,我们来看 `UPDATE` 语句。这个语句...
判断是否存在,存在就update,不存在insert,不是用存储过程解决的。
而“好用的数据库助手”通过自动分析数据库表结构,可以快速生成精确的INSERT和UPDATE语句,这一功能大大简化了数据导入导出和日常维护的操作,使得数据库管理变得更加高效和便捷。 在自动化SQL语句生成的基础上,...
3. **UPDATE语句**:用于更新现有数据记录。基本语法是: ```sql UPDATE table_name SET column1 = new_value1, column2 = new_value2, ... WHERE condition; ``` 这会将满足条件的行的`column1`和`column2`等...
这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...
4. 生成Insert,Update,Delete等SQL的时候,会自动过滤掉种子列和计算列; 5. 批量操作字符串,批量增加和批量减少。此功能对天天写代码的带来福音了 总而言之,言而总之 非常强大和实用的一个小工具,本人开发的,...
DalHelp,Sql语句操作类,可以根据Dic拼接Where条件,根据表实体返回Insert语句、Update语句等...
- UPDATE语句用于修改现有记录,同样需要指定更新的列和对应的值,以及用于定位特定记录的WHERE子句。 ```csharp // DELETE语句示例,假设Id是主键 foreach (DataRow row in dataTable.Rows) { int id = (int...
### Update语句优化 在数据库操作中,`UPDATE`语句是用于修改现有记录的关键工具之一。对于大型数据库系统来说,优化`UPDATE`语句能够显著提升数据处理速度和效率,减少资源消耗,提高整体性能。本文将通过分析提供...
这里介绍的`sqlstr`类提供了一个简单的方式来构造`INSERT`和`UPDATE` SQL语句,使得数据库操作更为便捷。让我们深入探讨这个类的工作原理以及如何使用它。 首先,`sqlstr`类有两个私有属性:`$param`和`$tablename`...
#### 三、Update语句 **定义与用途**: - **Update** 语句用于更新表中的现有记录。 - 使用格式为:`UPDATE 表名 SET 列名 = 新值 WHERE 条件;` **示例**: 假设我们需要更新`EMPLOYEES`表中`BRANCH_OFFICE`为`...