`
jinbingchuan
  • 浏览: 9767 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ibatis学习之 增删改查

 
阅读更多

 本文只是简单介绍下通过inline parameter方式进行增删改查

使用到的sqlmap-config.xml请参考前面一篇ibatis学习之 执行sql脚本

sql映射文件:

Employee.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="Employee">

 

<select id="getAll" resultClass="Employee">

SELECT * FROM EMPLOYEE

</select>

 

<update id="update" parameterClass="Employee">

UPDATE EMPLOYEE

SET first_name = #first_name#

WHERE id = #id#

</update>

 

<insert id="insertProduct-Mysql" parameterClass="Employee">

insert into EMPLOYEE(first_name,last_name,salary)

values(#first_name#,#last_name#,#salary#)

<selectKey resultClass="int" keyProperty="id">

SELECT LAST_INSERT_ID() AS id

</selectKey>

</insert>

 

<select id="getById" resultClass="Employee" parameterClass="java.util.Map">

    select * from EMPLOYEE where id = #id#

</select>

 

 

<delete id="deleteById" parameterClass="java.util.Map">

  delete from EMPLOYEE where id = #id#

</delete>

 

 

</sqlMap>

 

测试代码为:

 

 

 

import java.io.IOException;

import java.io.Reader;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

 

import com.ibatis.common.resources.Resources;

import com.ibatis.sqlmap.client.SqlMapClient;

import com.ibatis.sqlmap.client.SqlMapClientBuilder;

 

 

public class IbatisUpdateTest {

private SqlMapClient smc;

 

@Before

public void init() {

Reader rd;

try {

rd = Resources.getResourceAsReader("SqlMapConfig.xml");

smc = SqlMapClientBuilder.buildSqlMapClient(rd);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 

}

 

@Test

public void testUpdate() {

/* This would update one record in Employee table. */

System.out.println("Going to update record.....");

Employee rec = new Employee();

rec.setId(2);

rec.setFirstName("jinbingchuan");

try {

smc.update("Employee.update", rec);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println("Record updated Successfully ");

}

 

@Test

public void testGetAll() throws IOException, SQLException {

System.out.println("Going to read records.....");

List<Employee> ems = (List<Employee>) smc.queryForList("Employee.getAll", null);

for (Employee e : ems) {

System.out.print(" getId== " + e.getId());

System.out.print(" getFirstName== " + e.getFirstName());

System.out.print(" getLastName == " + e.getLastName());

System.out.print(" getSalary== " + e.getSalary());

System.out.println("");

}

System.out.println("Records Read Successfully ");

 

}

 

@Test

public void testInsert(){

Employee employee = new Employee();

employee.setFirstName("jin");

employee.setSalary(234);

employee.setlastName("king");

try {

smc.startTransaction();

smc.insert("Employee.insertProduct-Mysql", employee);

smc.commitTransaction();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

 

}

finally{

try {

smc.endTransaction();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

 

@Test

public void testGetById(){

try {

smc.startTransaction();

Map<String,Integer> parameterMap = new HashMap<String,Integer>();

parameterMap.put("id", 7);

Employee employee = (Employee)smc.queryForObject("Employee.getById", parameterMap);

smc.commitTransaction();

Assert.assertNotNull(employee);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

try {

smc.endTransaction();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

}

 

@Test

public void testDeleteById(){

try {

smc.startTransaction();

Map<String,Integer> parameterMap = new HashMap<String,Integer>();

parameterMap.put("id", 13);

int result = smc.delete("Employee.deleteById", parameterMap);

smc.commitTransaction();

Assert.assertEquals(1, result);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

try {

smc.endTransaction();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

}

}

 



 

 

 

 

  • 大小: 71.6 KB
  • 大小: 71.2 KB
分享到:
评论

相关推荐

    struts2+spring+ibatis做的增删改查的小例子

    这个"struts2+spring+ibatis做的增删改查的小例子"是一个针对初学者的实践教程,旨在帮助学习者理解这三个框架如何协同工作以实现数据的CRUD(创建、读取、更新、删除)操作。 首先,Struts2作为MVC(Model-View-...

    ibatis的简单增删改查

    本文将详细介绍Ibatis如何实现简单的增删改查操作,并结合提供的源码进行深入理解。 首先,Ibatis的核心是SQL映射文件和SqlSessionFactory。SQL映射文件是XML格式的,其中包含了SQL语句及其参数映射,是Ibatis执行...

    ibatis实现增删改查功能demo

    在本示例中,"ibatis实现增删改查功能demo"是一个具体的项目,旨在演示如何利用Ibatis进行数据库操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)数据。以下将详细解析这个项目的重点内容...

    Ibatis3.0 增删改查(二)

    在本教程中,我们将深入...在“增删改查(二)”这个主题中,我们将继续学习如何利用Ibatis高效地完成日常的数据库任务。通过实践和理解这些基本操作,你可以更好地掌握Ibatis,并将其应用于实际项目中,提升开发效率。

    一个最简单的IBatis增删改查操作例子

    本文将深入解析一个基于IBatis实现的最简单的增删改查(CRUD)操作实例,帮助初学者快速理解和掌握其核心概念。 首先,我们要理解什么是IBatis。IBatis(现更名为MyBatis)是由Apache Software Foundation维护的一...

    Ibatis增删改查

    在本文中,我们将深入探讨如何使用Ibatis实现基本的增删改查操作,这对于初学者来说是非常重要的基础知识。 ### 1. Ibatis 框架简介 Ibatis 最初由Clinton Begin 创建,后来成为Apache软件基金会的一个项目。它的...

    struts1+spring+ibatis的增删改查+登陆注册

    总之,这个项目提供了一个学习和实践Java Web开发的良好平台,通过Struts1、Spring和iBatis的组合,展示了如何构建一个完整的用户管理应用,包括登录、注册以及对数据的增删改查操作。这样的实践经验有助于开发者...

    ssi——struts2+spring+ibatis(登入+增删改查)

    本项目通过这三个框架实现了一个基础的登录及增删改查功能,非常适合初学者进行学习和实践。 首先,Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,负责处理HTTP请求,控制应用程序的流程,并将...

    一个S2S+ibatis一个增删改查的例子(由原先SSH2改编)

    标题中的“S2S+ibatis一个增删改查的例子”指的是使用Struts2和iBatis框架实现的典型数据库操作应用。Struts2是一个基于MVC设计模式的Java Web框架,而iBatis则是一个SQL映射框架,用于简化数据库访问。这个例子将...

    Ibatis3.0 增删改查(三)

    在本教程中,我们将深入探讨Ibatis 3.0框架中的增、删、改、查操作,这是关于Ibatis 3.0系列教程的第三部分。...通过学习这一部分,你应能熟练掌握在Ibatis中进行数据的增删改查操作,并理解其背后的原理和用法。

    struts2+spring+ibatis增删改查

    5. **CRUD操作**:在案例中,每个基本的数据库操作(增、删、改、查)都会对应一个Action,这些Action通常会调用Service层的方法,Service层再调用Mapper接口的方法来执行SQL。例如,添加数据的Action会调用add方法...

    Spring+Struts+Ibatis做的增删改查含有中文乱码处理

    在这个项目中,我们看到的是一个基于Spring、Struts和Ibatis的整合应用,主要实现了图书管理系统的增删改查(CRUD)功能,并且特别关注了中文乱码的处理。下面我们将详细探讨这些知识点。 首先,Spring框架是一个...

    ssi框架集成增删改查及存储过程(spring2.5+struts2.1+ibatis2.3)

    在这个项目中,开发者利用了Spring 2.5、Struts 2.1和iBatis 2.3这三个组件来实现数据的增删改查功能,并且结合了存储过程来增强数据库操作的灵活性。同时,通过Junit进行单元测试,确保代码的正确性和稳定性。 ...

    Struts2+Spring2.5+Ibatis完整增删改查Demo(含全部jar包)

    这个"Struts2+Spring2.5+iBatis完整增删改查Demo"提供了一个完整的集成示例,包括所有必要的jar包,使得开发者可以快速在Mycelipse环境中搭建并运行项目。 **Struts2框架**: Struts2是基于MVC设计模式的Web应用...

    Ibatis简单增删改查可用

    总之,"Ibatis简单增删改查可用"项目是一个很好的学习资源,它展示了Ibatis框架的基础功能和使用方式,适合初学者或需要快速理解和应用Ibatis的开发者。通过这个项目,你可以了解到Ibatis的核心概念,如何配置和使用...

    struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子

    总结起来,这个"struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子"涵盖了Web开发中的一些核心技术和实践,对于初学者来说,这是一个很好的学习资源,能够帮助他们快速掌握Java Web开发的基础知识,并逐步深入到更...

    SSI框架搭建增删改查以及分页

    在这个项目中,我们将在Ibatis的映射文件中编写SQL语句,对应于Service层的方法,实现增删改查功能。 分页功能是提高用户体验的重要一环,特别是在处理大量数据时。在SSI框架中,我们可以利用Ibatis的分页插件或者...

    springMVC+spring+Ibatis增删改查的demo

    总结来说,"springMVC+spring+Ibatis增删改查的demo" 提供了一个完整的后端解决方案,通过集成这三大框架,实现了与数据库交互的基本功能。对于初学者而言,这是一个很好的学习资源,可以深入了解如何在实际项目中...

    原创的ibatis框架增删改查

    **Ibatis 框架详解:为初学者的增删改查指南** Ibatis 是一个优秀的持久层框架,它能够将SQL与Java代码分离,使得开发者可以更专注于SQL语句的编写,同时避免了JDBC的繁琐操作。本文将深入探讨Ibatis的基本概念、...

    strusts2+spring + ibatis框架增删改查

    本项目实践旨在深入理解和应用这三大框架的集成,实现数据的增删改查(CRUD)功能。 **Struts2** 是一个强大的MVC框架,它在Web应用中负责处理用户的请求,执行业务逻辑,并将结果返回给用户。Struts2的核心是...

Global site tag (gtag.js) - Google Analytics