`
newleague
  • 浏览: 1505393 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

控制insert和update语句

阅读更多

有的时候往一个别的字段特别多!但是在某些特定的情况下并没有必要插入全部字段!如果不加以控制

就会耗内存!所以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个字段以上情况

分享到:
评论

相关推荐

    insert,update导出sql语句

    在数据库管理中,INSERT和UPDATE语句是两个非常基础且重要的操作。它们分别用于向数据库中插入新的数据和更新已存在的数据。这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或...

    项目实施工具-SQL语句生成(insert,Update)

    3. **生成SQL语句**:工具根据用户输入的查询条件,智能分析并生成相应的INSERT语句和UPDATE语句。INSERT语句用于在数据库中新增记录,而UPDATE语句则用于修改已存在的记录。这两类语句是数据库操作中最基本也是最...

    oracle 多表做update insert语句.docx

    Oracle 多表 Update 语句详解 在 Oracle 中,Update 语句是数据库操作中的重要组成部分。 Update 语句可以对数据库中的数据进行...这些知识点可以帮助我们更好地理解和使用 Oracle 中的 Update 语句和 Insert 语句。

    sql语句生成工具,insert,update

    此类应用程序通常包含交互式界面,用户可以通过它连接到数据库,选择表,然后生成所需的INSERT和UPDATE语句。 5. "DataBase.config": 这可能是一个配置文件,存储了数据库连接信息,如服务器地址、数据库名称、...

    根据表名及字段,自动生成insert,update,select语句

    首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...

    C# 自定义方法 buildsql(insert ,update)

    C# 自定义方法 buildsql(insert ,update),数据类型转换,按钮绑定,控件设置,直接调用 使用

    LINQ体验——LINQ to SQL语句之Insert/Update/Delete操作

    "LINQ体验——LINQ to SQL语句之Insert/Update/Delete操作" 在本篇文章中,我们将继续讨论LINQ to SQL语句,重点介绍Insert/Update/Delete操作,这些操作在我们的程序中是最常用的。下面,我们将通过多个示例来详细...

    详解MySQL数据库insert和update语句

    综上所述,INSERT和UPDATE语句是MySQL数据库操作的核心,它们允许开发者动态地添加和修改数据库中的数据。而REPLACE语句则提供了一种处理数据冲突的策略,确保数据的唯一性。了解并熟练掌握这些语句,对于有效地管理...

    UPDATE/INSERT/DELETE 语句

    在数据库管理中,UPDATE、INSERT 和 DELETE 是三个非常重要的 SQL 语句,它们分别用于修改、添加和删除数据。在本实验中,我们将通过实际操作来深入理解这三个语句的用法。 首先,我们来看 `UPDATE` 语句。这个语句...

    insert/update同时执行(mysql,oracle,sqlserver)

    判断是否存在,存在就update,不存在insert,不是用存储过程解决的。

    好用的数据库助手;支持SQL Server,Oracle ;可以自动生成insert语句或update语句;

    而“好用的数据库助手”通过自动分析数据库表结构,可以快速生成精确的INSERT和UPDATE语句,这一功能大大简化了数据导入导出和日常维护的操作,使得数据库管理变得更加高效和便捷。 在自动化SQL语句生成的基础上,...

    常用的sql语句(select insert update)

    3. **UPDATE语句**:用于更新现有数据记录。基本语法是: ```sql UPDATE table_name SET column1 = new_value1, column2 = new_value2, ... WHERE condition; ``` 这会将满足条件的行的`column1`和`column2`等...

    oracle执行update语句时卡住问题分析及解决办法

    这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...

    自动生成Insert,Update,Delete等SQL,批量操作字符,实用小工具

    4. 生成Insert,Update,Delete等SQL的时候,会自动过滤掉种子列和计算列; 5. 批量操作字符串,批量增加和批量减少。此功能对天天写代码的带来福音了 总而言之,言而总之 非常强大和实用的一个小工具,本人开发的,...

    DalHelp,Sql语句操作类,可以根据Dic拼接Where条件,根据表实体返回Insert语句、Update语句等

    DalHelp,Sql语句操作类,可以根据Dic拼接Where条件,根据表实体返回Insert语句、Update语句等...

    excel导入生成insert语句

    - UPDATE语句用于修改现有记录,同样需要指定更新的列和对应的值,以及用于定位特定记录的WHERE子句。 ```csharp // DELETE语句示例,假设Id是主键 foreach (DataRow row in dataTable.Rows) { int id = (int...

    update 语句优化update 语句优化update 语句优化

    ### Update语句优化 在数据库操作中,`UPDATE`语句是用于修改现有记录的关键工具之一。对于大型数据库系统来说,优化`UPDATE`语句能够显著提升数据处理速度和效率,减少资源消耗,提高整体性能。本文将通过分析提供...

    PHP新手用的Insert和Update语句构造类

    这里介绍的`sqlstr`类提供了一个简单的方式来构造`INSERT`和`UPDATE` SQL语句,使得数据库操作更为便捷。让我们深入探讨这个类的工作原理以及如何使用它。 首先,`sqlstr`类有两个私有属性:`$param`和`$tablename`...

    Insert,Select,Update和Delete。

    #### 三、Update语句 **定义与用途**: - **Update** 语句用于更新表中的现有记录。 - 使用格式为:`UPDATE 表名 SET 列名 = 新值 WHERE 条件;` **示例**: 假设我们需要更新`EMPLOYEES`表中`BRANCH_OFFICE`为`...

Global site tag (gtag.js) - Google Analytics