`

ibatis实现增删改查

阅读更多

初学ibatis,实现了一个增删改查的例子:

 

database.properties:

driverClassName=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/test
username=root
password=root

 

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>
		<properties resource="database.properties"/>
		<transactionManager type="JDBC">
			<dataSource type="SIMPLE">
				<property name="JDBC.Driver" value="${driverClassName}"/>
				<property name="JDBC.ConnectionURL" value="${url}"/>
				<property name="JDBC.Username" value="${username}"/>
				<property name="JDBC.Password" value="${password}"/>
			</dataSource>
		</transactionManager>

       <sqlMap resource="com/cz/model/User.xml" />

</sqlMapConfig>

 

User.java

package com.cz.model;

public class User {
	private int id;
	private String name;
	private String email;
	private int age;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	

}

 

User.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>

       <typeAlias alias="User" type="com.cz.model.User" />

       <select id="findAll" resultClass="User">
             select * from user
       </select>
       
       <select id="findUserById" resultClass="User" parameterClass="int">
       		select * from user where id = #value#
       </select>
       
        <insert id="addUser" parameterClass="com.cz.model.User">
       		insert into user(id,name,age,email) values(#id#,#name#,#age#,#email#)
       </insert>
       
        <update id="updateUser" parameterClass="com.cz.model.User">
	   		update user set name = #name# where id=#id#
	   </update>
	   
	   <delete id="deleteUser" parameterClass="int">
	   		delete from user where id = #value#
	   </delete>

</sqlMap>
 

IUserDao.java

package com.cz.dao;

import java.util.List;

import com.cz.model.User;

public interface IUserDao {
	
	//查询用户集合
	public List<User> QueryUserList();
	//根据id查询用户
	public User QueryUserById(int id);
	//添加新用户
	public void AddUser(User user);
	//修改用户信息
	public int UpdateUser(User user);
	//删除用户
	public void DeleteUserById(int id);

}

 

UserDaoImpl:

package com.cz.dao;

import java.io.*;
import java.sql.SQLException;
import java.util.List;
import com.cz.model.User;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class UserDaoImpl implements IUserDao{
	private static SqlMapClient sqlMap;
	static{
		try {
			Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	//查询用户集合
	public List<User> QueryUserList() {
		List<User> userList = null;
     
		try {
			 userList = sqlMap.queryForList("findAll");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return userList;
		
	}
	
	//根据id查询用户
	public User QueryUserById(int id) {
		User user=null;
		try {
			user=(User) sqlMap.queryForObject("findUserById", id);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		return user;
	}
	//添加新用户
	public void AddUser(User user) {
		// TODO Auto-generated method stub
		try {
			sqlMap.insert("addUser", user);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	//修改用户信息
	public int UpdateUser(User user) {
		// TODO Auto-generated method stub
		int a=0;
		try {
			a=sqlMap.update("updateUser",user);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

	//删除用户
	public void DeleteUserById(int id) {
		// TODO Auto-generated method stub
		try {
			sqlMap.delete("deleteUser", id);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
      
}
	
	

 

Test.java:

package com.cz.test;

import java.util.List;

import com.cz.dao.IUserDao;
import com.cz.dao.UserDaoImpl;
import com.cz.model.User;

public class Test {

	
	
	public static void main(String[] args) {
		IUserDao userdao=new UserDaoImpl();
		//查询用户集合
		List<User> userList=userdao.QueryUserList();
		for(User user:userList){
			System.out.println(user.getId()+" "+user.getName()+" "+user.getAge()+" "+user.getEmail());
		}

//		//根据id查询用户
//		User user=new User();
//		user=userdao.QueryUserById(2);
//		System.out.println(user.getId()+" "+user.getName()+" "+user.getAge()+" "+user.getEmail());

//		//添加新用户
//		User user=new User();
//		user.setId(3);
//		user.setName("张三");
//		user.setAge(30);
//		user.setEmail("zs@sina.com");
//		userdao.AddUser(user);
		
//		//修改用户信息
//		User user=new User();
//		user.setId(1);
//		user.setName("哈哈");
//		System.out.println(userdao.UpdateUser(user));
		
//		//删除用户
//		userdao.DeleteUserById(1);
	}

}
 

 

下面上传项目需要的两个包:

 

  • 大小: 8.5 KB
2
0
分享到:
评论
3 楼 chenzheng8975 2012-11-08  
richie144 写道
你这是ibatis的操作,现在都升级到mybatis了,用mybatis吧,功能更强大,而且支持annotation

多谢指教!
2 楼 zhangpeili 2012-11-07  
原理都一样!学会那个都一样 就是配置有点差别
1 楼 richie144 2012-11-07  
你这是ibatis的操作,现在都升级到mybatis了,用mybatis吧,功能更强大,而且支持annotation

相关推荐

    ibatis实现增删改查功能demo

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

    最简单的ibatiS实现增删改查

    【标题】:“最简单的ibatis实现增删改查” 在Java开发中,iBATIS(现更名为MyBatis)是一个非常流行的持久层框架,它允许开发者编写SQL语句并与Java对象进行映射,从而简化了数据库操作。本教程将向您展示如何在...

    ibatis的增删改查

    在这个"ibatis的增删改查"主题中,我们将深入探讨如何在不依赖MVC框架的情况下,利用Ibatis进行数据操作。 1. **Ibatis安装与配置** 首先,你需要将Ibatis的jar包添加到项目的类路径中,或者通过Maven或Gradle等...

    Ibatis3.0 增删改查(二)

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

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

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

    Ibatis和Spring整合例子,实现增删改查功能

    Ibatis和Spring整合例子,实现增删改查功能.

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

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

    struts+spring+ibatis做的一个增删改查例子

    这个例子是利用这三个框架实现了一个基础的增删改查(CRUD)功能,涵盖了数据库操作、业务逻辑处理以及用户界面交互。 **Struts** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,负责处理用户的...

    Ibatis3.0 增删改查(三)

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

    Ibatis增删改查

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

    ibatis的增删改查功能

    总结,Ibatis以其简单易用、灵活高效的特性在Java开发中占据重要地位,其增删改查功能的实现让开发者能更加专注于业务逻辑,而不是繁琐的JDBC操作。对于初学者来说,深入理解Ibatis的CRUD操作及其相关配置,对提升...

    Struts Spring Ibatis 实现的增删改查

    以上就是使用 Struts、Spring 和 iBatis 实现增删改查操作的基本流程和关键点。理解这些概念并熟练掌握它们的整合,对于构建高效、可维护的 Java Web 应用至关重要。在实际开发中,还需要考虑安全性、性能优化、代码...

    ibatis框架实现的增删改查

    本篇文章将深入探讨如何使用Ibatis框架实现对`student`表的增删改查操作,包括模糊查询以及利用序列自动生成主键。 首先,我们来理解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一个SQL映射...

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

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

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

    在实现增删改查操作之前,我们需要准备以下基础: 1. 数据库:创建一个数据库表,用于存储数据。例如,可以创建一个名为`users`的表,包含`id`(主键)、`username`和`password`等字段。 2. Java实体类:根据...

    Ibatis简单增删改查可用

    Ibatis 是一款轻量级的Java持久层框架,它提供了SQL映射框架,使得...通过这个项目,你可以了解到Ibatis的核心概念,如何配置和使用它来实现数据库的增删改查操作,以及如何利用其动态SQL的能力来提升代码的灵活性。

    jsf+ibatis增删改查

    在"jsf+ibatis增删改查"项目中,JSF被用来创建用户界面,而iBatis则作为数据访问层,负责与数据库的交互。以下是实现这一功能的关键步骤: 1. **配置iBatis**:首先,需要在项目中引入iBatis的库文件,并配置`...

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

    在增删改查功能中,iBatis通过Mapper接口与XML配置文件配合,实现了数据的CRUD操作。开发者只需要定义接口方法,iBatis会自动生成SQL并执行,返回结果集。 这个项目的文件结构通常会包含以下几个部分: 1. **src/...

    springMVC+spring+Ibatis增删改查的demo

    下面将详细讲解这三个技术及其在实现增删改查(CRUD)操作中的应用。 首先,Spring MVC 是 Spring 框架的一个模块,主要负责处理 Web 应用的模型-视图-控制器(MVC)结构。它提供了一个分离关注点的方式,使得...

    ibatis的简单增删改查

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

Global site tag (gtag.js) - Google Analytics