`
lxs647
  • 浏览: 523177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

更新表中的数据【转】

阅读更多

对任何数据库程序来说, 添加, 更新, 删除都是十分常见且必要的特性. 在该教程里我们已经讲解了使用iBatis 在Java 中进行插入和删除操作, 现在本章将讲述如何使用iBatis 在数据表中更新数据. 在iBatis 中执行一条更新语句是非常简单的. 为了更新数据你得在SQL 映射文件"Contact.xml" 中添加SQL 的update 语句.

iBatis 更新语句例子 :
Contact.java

public class Contact {
    private String firstName;
   
    private String lastName;  
   
    private String email;
   
    private int id;
   
    public Contact() {}
   
    public Contact(String firstName,String lastName,String email) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.email = email;
    }

    public String getEmail() {
        return email;
    }
   
    public void setEmail(String email)
      this.email = email;
    }
   
    public String getFirstName() {
        return firstName;
    }
   
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
   
    public int getId() {
        return id;
    }
   
    public void setId(int id) {
        this.id = id;
    }
   
    public String getLastName() {
        return lastName;
    }
   
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
    <settings useStatementNamespaces="true"/>
    <transactionManager type="JDBC">
        <dataSource type="SIMPLE">
        <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
        <property name="JDBC.ConnectionURL" value="jdbc:mysql://192.168.10.112:3306/vin"/>
        <property name="JDBC.Username" value="root"/>
        <property name="JDBC.Password" value="root"/>
        </dataSource>
    </transactionManager>
    <sqlMap resource="Contact.xml"/>
</sqlMapConfig>

iBatis 更新查询
在我们的例子中, 我们通过参数中指定的id 更新了表中的数据, 因此对于"id" 我们将"parameterClass" 的属性值分配为"long".
Contact.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Contact">
    <!--- Showing all data of table -->
    <select id="getAll" resultClass="Contact">
        select * from contact
    </select>
    <!--- Update data of Contact table -->
    <update id="updateById" parameterClass="long">
        update Contact
        set
        lastName = 'Raghuwanshi'
        where
        id=#id#
    </update>
</sqlMap>

现在我们可以在Java 程序中通过如下代码执行更新操作了 :
sqlMap.update( "Contact.updateById" ,contactId);

IbatisUpdate.java 代码如下 :
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class IbatisUpdate{
    public static void main(String[] args) throws IOException,SQLException{
        Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
        //Updating one record of contact
        System.out.println("*---- Updating informations of Contact -----*");
        Contact contct=new Contact();
        long contactId=1;
        sqlMap.update("Contact.updateById",contactId);
        System.out.println("|Updated Record Successfully ");
        System.out.println("All Contacts");
        List<Contact> contacts = (List<Contact>)
        sqlMap.queryForList("Contact.getAll",null);
        Contact contact = null;
        for (Contact c : contacts) {
            System.out.print(" " + c.getId());
            System.out.print(" " + c.getFirstName());
            System.out.print(" " + c.getLastName());
            System.out.print(" " + c.getEmail());
            contact = c;
            System.out.println("");
        }
        System.out.println("============================================");
    }   
}

为了执行update 的例子, 遵照如下步骤 :
创建Contact.java 和SqlMapConfig.xml
编译Contact.java
创建Contact.xml
创建IbatisUpdate.java 并将其编译
执行IbatisUpdate 类文件, 你会得到如下输出 :

 

http://www.iteye.com/wiki/taojintianxia_iBatis

分享到:
评论

相关推荐

    Excel中更改及更新数据透视表数据源.pdf

    通过掌握更改和更新数据透视表数据源的方法,用户能更灵活地管理和分析数据,适应不断变化的数据环境。这对于数据分析、报告编写以及决策支持等任务来说至关重要。同时,了解这些技巧也能提高工作效率,使得用户能够...

    根据excel数据批量新增或更新mysql的表

    标题所指的"根据excel数据批量新增或更新mysql的表"是一个常见的需求,特别是在数据分析、数据导入导出或者自动化报表生成等场景。 首先,我们需要了解涉及的主要工具和概念。`MySQL`是一款广泛使用的开源关系型...

    Excel中将数据透视表转换为普通表格.pdf

    在Excel中,数据透视表是一种强大的数据分析工具,它允许用户对大量数据进行快速汇总和分析。然而,当数据源庞大时,数据透视表可能会导致工作簿文件体积显著增加。因此,有时在完成分析后,为了减小文件大小或只...

    将SQL数据表的一列转换为一行.docx

    在 MySQL 中,可以使用以下方法来将 SQL 数据表的一列转换为一行。 知识点1:使用存储过程实现数据转换 在 MySQL 中,可以使用存储过程来实现数据转换。存储过程是一种预先编译好的 SQL 语句集合,可以重复使用以...

    kettle全量多表数据同步

    ### Kettle全量多表数据同步 #### 一. 建立资料库 在进行全量多表数据同步之前,首先需要建立一个资源库来存放所有的转换和作业。资源库是Kettle的一个核心概念,它用于存储和管理转换、作业和其他与数据处理相关...

    数据表转实体

    在IT行业中,数据表转实体是一项常见的任务,特别是在开发基于数据库的应用程序时。这个过程涉及到将数据库中的结构化数据转化为编程语言中的对象模型,以便于程序员进行操作和处理。标题"数据表转实体"和描述中提到...

    DBC数据转SQL数据 无限制工具

    "DBC数据转SQL数据 无限制工具"是一个专门针对魔兽世界模拟器数据库(DBC)文件转换为SQL格式的实用工具。这个工具能够实现DBC到SQL以及SQL到DBC的双向转换,且没有使用上的限制,极大地提升了数据操作的效率和便利...

    kettle同步数据库所有的表数据到其他库.rar

    本示例中的"Kettle同步数据库所有的表数据到其他库.rar"是一个具体的应用场景,即利用Kettle将一个数据库的所有表数据同步到另一个具有相同表结构的数据库中。这里,我们不仅讨论如何实现这个功能,还将深入探讨...

    Excel中粘贴数据随数据源自动更新.pdf

    在Excel中,有时候我们需要将一个工作表的数据引用到另一个工作表,以便于数据同步更新,避免重复输入。这种情况下,可以使用"粘贴链接"功能,使得粘贴的数据随数据源自动更新。以下是对这个知识点的详细解释: 1. ...

    android 数据库表结构更新步骤

    在这个方法中,我们可以执行更新表结构的SQL语句。 4. **更新表结构** - 要添加字段,可以在`onUpgrade()`中使用`ALTER TABLE`语句。例如,如果要在`my_table`中添加`age`字段: ```java String ALTER_TABLE_ADD...

    SSIS对SQL Server向Mysql数据转发表数据 更新和新增数据

    总结来说,SSIS对SQL Server向MySQL数据转发表数据更新和新增数据是一个涉及数据源连接、数据流设计、数据转换、错误处理和执行调度的复杂过程。通过熟练掌握SSIS的各个组件和功能,我们可以有效地管理和维护跨平台...

    数据库替换源代码,可根据一张表中对应的两组数据替换另一张表中的数据

    这个过程通常涉及到数据查询、比较和更新,目的是更新数据库中的某些信息,使其与另一张参照表中的信息保持一致。描述中的例子是一个实际应用场景,即通过获取短信记录并匹配电话簿来解析短信发送对象。 在Delphi7...

    数据透视表练习题

    - 数据透视表的刷新:当源数据发生变化时,可以通过刷新保持数据透视表的更新。 综上所述,数据透视表是办公软件中不可或缺的数据分析工具,熟练掌握其使用能大幅提升数据处理效率,帮助企业或个人做出明智的决策...

    数据透视表 数据透视表

    - 数据透视表的交互性:在多数软件中,数据透视表都是动态的,用户可以随时调整布局,更新分析结果。 总之,数据透视表是数据分析师的得力助手,无论是在商业决策、学术研究还是日常管理中,都能提供高效的数据...

    数据库替换工具,可根据一张表中对应的两组数据替换另一张表中的数据

    数据库替换工具是一种高效的数据处理软件,它主要用于在数据库中实现基于特定条件的数据更新。这个工具的核心功能是根据一张参考表中的对应数据,来修改另一张目标表中的相应数据。这样的操作在数据分析、数据清洗和...

    使用事务实现更新多个数据表

    以下是对“使用事务实现更新多个数据表”这一主题的详细解释。 事务是一个逻辑工作单元,包含一组数据库操作。这些操作要么全部执行,要么全部不执行,这就是事务的原子性。事务有四个关键特性,通常被称为ACID属性...

    Kettle实现多表数据全量抽取

    【标题】"Kettle实现多表数据全量抽取"涉及的主要知识点是Kettle(Pentaho Data Integration,简称PDI)工具在数据处理中的应用,尤其是如何进行多表数据的同步与更新。Kettle是一款开源的数据集成工具,以其强大的...

    labview 读取access 表中的数据显示在前面板表格控件实例

    例如,你可以使用“SELECT * FROM 表名”来获取表中的所有记录,或者通过指定列名和条件来筛选数据。LabVIEW提供了“执行SQL”函数,用于执行这个查询。 3. **数据读取**:执行查询后,使用“获取结果集”函数来...

    java jsp sqlserver数据表转移到oracle实例 源代码

    标题中的“java jsp sqlserver数据表转移到oracle实例 源代码”表明这是一个关于使用Java和JSP技术,将SQL Server数据库中的数据表迁移至Oracle数据库的实际操作案例。这个过程通常涉及数据迁移、数据转换以及可能的...

    利用DTS导入_导出向导实现SQL Server数据库表的数据转换.pdf

    在探讨如何使用DTS(数据转换服务)导入/导出向导实现SQL Server数据库表的...使用DTS导入/导出向导生成的DTS包,可以将工业控制中的文本格式文件有效地转换到SQL Server数据库表中,从而为铝电解生产决策提供数据支持。

Global site tag (gtag.js) - Google Analytics