`
gaojingsong
  • 浏览: 1182552 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Ibatis

阅读更多
package com.nasoft.bean;
/**
* User 实体类
* @author Administrator
*
*/
public class User {

/**
* 用户编号
*/
private int userid;

/**
* 用户名字
*/
private String userName ;

/**
* 用户年龄
*/
private int age ;

/**
* 用户地址
*/
private String address;

/**
* 用户生日
*/
private String birthday ;

public int getUserid() {
return userid;
}

public void setUserid(int userid) {
this.userid = userid;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getBirthday() {
return birthday;
}

public void setBirthday(String birthday) {
this.birthday = birthday;
}



}

--------------------------------------------------------



package com.nasoft.dao;

import java.util.List;

import com.nasoft.bean.User;
/**
* UserDAO 接口
* @author Administrator
*
*/
public interface UserDAO {

/**
* 增加用户
* @param user
*/
public void addUser(User user);

/**
* 删除用户
* @param user
*/
public void deleteUser(User user);

/**
* 更新用户
* @param user
*/
public void updateUser(User user);

/**
* 根据ID 查找用户
* @param user
*/
public void findUserByID(User user);

/**
* 查询所有的用户
*/
public List<User> findAllUser();

/**
* 根据条件查询用户
* @param user
*/
public List<User> findUserByWhere(User user);
}

--------------------------------------------------------------

package com.nasoft.tools;

import java.io.IOException;
import java.io.Reader;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

/**
* 通过单例模式构造一个SqlMapClient工具
* @author Administrator
*
*/
public class IbatisTool {
private static  SqlMapClient client ;

/**
* 配置文件的路径
*/
private static String sqlMapPath = "sql-map-config.xml";

private IbatisTool(){

}

public synchronized static SqlMapClient getSqlMapClient(){
Reader reader = null;
try {
reader = Resources.getResourceAsReader(sqlMapPath);
} catch (IOException e) {
e.printStackTrace();
}
client = SqlMapClientBuilder.buildSqlMapClient (reader);
return client;
}

    
}

----------------------------------------------------------


package com.nasoft.test;

import static java.lang.System.out;
import java.io.Reader;
import java.util.List;

import org.junit.BeforeClass;
import org.junit.Test;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.nasoft.bean.User;

public class TestIbatis {

private final String  NameSpace = "com.nasoft.dao.impl.UserDAO";

private static  SqlMapClient client ;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
Reader reader = Resources.getResourceAsReader("sql-map-config.xml");
client = SqlMapClientBuilder.buildSqlMapClient (reader);
    
}

@SuppressWarnings("unchecked")
@Test
public void testfindUser() throws Exception{
  
List<User>  list= client.queryForList(NameSpace + ".finduserByID");

for (User user : list) {
//静态类导入
out.println(user);
System.err.print(user.getAddress());

}

}

@Test
public void testUpdateUser() throws Exception{
client.startTransaction();
User user = new User();
user.setUserid(2);
user.setUserName("Hello!World2");
user.setAge(22);
user.setBirthday("1988-12-12");
user.setAddress("beijing - haidian");
client.insert(NameSpace + ".updateUser",user);
client.commitTransaction();
client.endTransaction();

}

@Test
public void testInsertUser() throws Exception{
client.startTransaction();
User user = new User();
user.setUserid(1234);
user.setUserName("Hello!World");
user.setAge(12);
user.setBirthday("1988-12-12");
user.setAddress("beijing - haidian");
client.insert(NameSpace + ".adduser",user);
client.commitTransaction();
client.endTransaction();

}

@Test
public void deleteUser() throws Exception{
client.startTransaction();
User user = new User();
user.setUserid(1234);
client.insert(NameSpace + ".deleteUser",user);
client.commitTransaction();
client.endTransaction();

}
}


----------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="com.nasoft.dao.impl.UserDAO">

<typeAlias alias="user" type="com.nasoft.bean.User"/>

<resultMap class="user" id="user">
<result property="userid" column="userid"/>
<result property="userName" column="userName"/>
<result property="age" column="age"/>
<result property="address" column="address"/>
<result property="birthday" column="birthday"/>
</resultMap>
 
   
    <update id="updateUser" parameterClass ="user">
     insert into ibatis_test
     values(#userid# ,#userName# ,#age# ,#address# ,#birthday#)
  </update>
 
  <update id="deleteUser" parameterClass ="user">
     delete from  ibatis_test where userid =#userid#
  </update>
 
  <update id="updateUser" parameterClass ="user">
     update  ibatis_test set userName = #userName# where userid =#userid#
  </update>
 
 
  <select id="finduserByID" resultMap="user">
    select userid ,userName ,age ,address ,birthday
    from ibatis_test
    where userid=#userid#
  </select>
 
  <select id="findAllusers" resultMap="user">
    select userid ,userName ,age ,address ,birthday
    from ibatis_test
  </select>
 
  <insert id="adduser" parameterClass ="user">
  insert into ibatis_test
  values(#userid# ,#userName# ,#age# ,#address# ,#birthday#)
  </insert>
 
  <delete id="deleteuser1">
  delete from  ibatis_test where userid =#userid#
  </delete>
 
</sqlMap>
分享到:
评论

相关推荐

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    iBATIS DAO是Java开发中的一个持久层框架,它提供了数据访问对象(DAO)的实现,使得数据库操作更加简单和灵活。在这个2.3.4.726版本的源码中,我们可以深入理解iBATIS DAO的工作原理,并通过添加注释来帮助我们更好...

    Spring与iBATIS的集成

    Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    这里提到的是iBATIS的三个不同版本的jar包:ibatis-2.3.4.726.jar、ibatis-2.3.0.677.jar以及ibatis-2.3.3.720.jar。 首先,让我们深入了解iBATIS的核心概念和功能: 1. **SQL Map配置**:iBATIS的核心是SQL Map...

    ibatis资料ibatis资料

    1. **《iBATIS in Action》**: 这通常是一本关于iBATIS的书籍,可能深入介绍了iBATIS的原理、配置、使用方法以及最佳实践,对于学习和理解iBATIS非常有帮助。 2. **《ibatis Guide》**: 这可能是iBATIS的官方指南...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,...

    iBATIS2.3.4 jar包及源码

    iBATIS 是一款著名的开源Java持久层框架,它在2005年由Clinton Begin创建,最初命名为Apache MyBatis,后来发展为独立的项目。在本主题中,我们关注的是iBATIS 2.3.4版本的jar包及其源码。 首先,`ibatis-2.3.4.jar...

    ibatis乱码解决方法(ibatis独立)

    在IT行业中,数据库操作是必不可少的一部分,而Ibatis作为一款流行的Java持久层框架,它使得SQL与Java代码更好地结合,提供了灵活的数据库操作方式。然而,数据处理时遇到的编码问题,如乱码,常常会给开发者带来...

    ibatis应对批量update

    ### ibatis应对批量update 在处理大量数据更新时,传统的for循环方式往往会导致效率低下。这是因为每一次循环都需要执行一次数据库连接操作,对于批量更新来说,这样的处理方式显然不够高效。为了解决这个问题,...

    ibatis官方资料及所需要的Jar包

    Ibatis官方资料大全提供了全面的学习资源,包括ibatis-common.jar、ibatis-Dao.jar和ibatis-sqlmap.jar等核心组件的详细讲解和相关jar文件,是学习和使用Ibatis不可或缺的参考资料。 首先,我们来了解一下ibatis-...

    ibatis 自己学的一个ibatis项目(只是打通了Oracle) 非常适合入门

    自己写了一个Ibatis入门文件 JDK用的1.4 ibatis用的2.3.0 一定要注意版本问题,不然出现本本不兼容很费劲,我调了一上午,注意一定要用JDK1.4 ibatis2.3.0! 数据库自己建一张简单的表就行了,特别说明 只适合新手...

    ibatis_with_memcached

    本项目"ibatis_with_memcached"就是关于如何将Ibatis与Memcached集成,实现高效的数据库缓存策略的实例。 Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC...

    ibatis教程 输入参数详解

    标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用...

    maven整合ibatis的简单例子

    在Java开发中,Maven和iBatis是两个非常重要的工具。Maven是一个项目管理和综合工具,它帮助开发者管理依赖、构建项目,并提供了一种标准化的项目结构。而iBatis则是一个SQL映射框架,它将SQL语句与Java代码分离,...

    Ibatis3手册 Ibatis3参考手册

    ### Ibatis3手册知识点概述 Ibatis3作为一款流行的持久层框架,在软件开发领域具有重要的地位。本篇文章基于“Ibatis3手册 Ibatis3参考手册”的标题及描述,深入解析Ibatis3的核心概念、架构特点以及如何进行实际...

    Ibatis 入门经典 实例

    《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...

    ibatis拼接字符串

    在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...

    Ibatis入门例子,Ibatis教程

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...

    ibatis api,ibatis文档,ibatis说明文档

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...

    ibatis教程,ibatis帮助文档

    iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库查询的简化,尤其在JDBC编程方面提供了极大的便利。相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现...

Global site tag (gtag.js) - Google Analytics