iBatis Update -Updating data of a table

Add, Update and Delete are very common and essential
feature for any database application. In this iBatis tutorial we have already
explained about Insert and Delete in Java using iBatis, now this section will introduce you how you can update data
in data table with the iBatis. In iBatis executing an update statement is very
simple. For updating you have to add SQL "Update" statement in SQL
mapping file "Contact.xml". Contact.java and SqlMapConfig.xml
is same as in our previous examples.
iBatis update statement Example
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 Update Query
Here in our example we are updating table with an id as
specified in our parameter and therefore for "id" we have
assigned "parameterClass" property value to "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> |
Now we can execute update command from our java program
by the following code as:
sqlMap.update("Contact.updateById",contactId);
|
Full source code of IbatisUpdate.java is as follows:
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("============================================");
}
}
|
To run this example program of Update statement follow
these steps:
- Create and Save Contact.java and
SqlMapConfig.xml
- Compile Contact.java
- make Contact.xml
- create and save IbatisUpdate.java and compile
it
- On executing IbatisUpdate class file you will
get this output
Output:

Download Source Code

|