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

ibatis的增,删,改,查

阅读更多

对mysql进行操作,创建数据库表

CREATE TABLE EMPLOYEE (
   id INT NOT NULL auto_increment,
   first_name VARCHAR(20) default NULL,
   last_name  VARCHAR(20) default NULL,
   salary     INT  default NULL,
   PRIMARY KEY (id)
);

Employee对象

package com.zbm.pojo;

public class Employee {
	private int id;
	private String first_name;
	private String last_name;
	private int salary;

	public Employee() {
		
	}

	public Employee(String fname, String lname, int salary) {
		this.first_name = fname;
		this.last_name = lname;
		this.salary = salary;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getFirst_name() {
		return first_name;
	}

	public void setFirst_name(String first_name) {
		this.first_name = first_name;
	}

	public String getLast_name() {
		return last_name;
	}

	public void setLast_name(String last_name) {
		this.last_name = last_name;
	}

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}
}
 

数据库连接的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://localhost:3306/health"/>
          <property name="JDBC.Username" value="root"/>
          <property name="JDBC.Password" value="root"/>
        </dataSource>
      </transactionManager>
     <sqlMap resource="com/zbm/pojo/Employee.xml"/> 
</sqlMapConfig>
 

配置文件: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">
	<typeAlias alias="employee" type="com.zbm.pojo.Employee"/>

	<insert id="insertEmployee" parameterClass="employee">
		<selectKey keyProperty="id" resultClass="int">
			select last_insert_id() as id
		</selectKey>
		
		insert into employee(first_name, last_name, salary) value
			(#first_name#,#last_name#,#salary#)
	</insert>
	
	<select id="queryForAll" resultClass="Employee">
		select * from employee
	</select>
	
	<update id="updateData" parameterClass="Employee">
		update employee set first_name=#first_name#
			where id=#id#
	</update>
	
	<delete id="deleteData" parameterClass="int">
		delete from employee where id = #id#
	</delete>
</sqlMap>

对数据库进行操作

package com.zbm.client;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

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

public class IbatisDao {
	public static void main(String[] args) {
		Reader rd = null;
		try {
			rd = Resources.getResourceAsReader("SqlMapConfig.xml");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
//		insertEmployee(smc);
//		updateFirstName(smc);
		queayAll(smc);
//		deleteData(smc);
	}
	
	public static void insertEmployee(SqlMapClient smc) {
		try {
			Employee employee = new Employee("Json", "Bright", 7000);
			smc.insert("employee.insertEmployee", employee);
		}  catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void queayAll(SqlMapClient smc) {
		try {
			@SuppressWarnings("unchecked")
			List<Employee> emps = (List<Employee>)smc.queryForList("employee.queryForAll");
			for(Employee emp : emps) {
				System.out.println("firstName : " + emp.getFirst_name() + " ,  " 
						+ "lastName : " + emp.getLast_name() + " ,  "
						+ "salary : " + emp.getSalary());
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void updateFirstName(SqlMapClient smc) {
		Employee rec = new Employee();
		rec.setId(2);
		rec.setFirst_name("File");
		try {
			smc.update("employee.updateData", rec);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void deleteData(SqlMapClient smc) {
		int id = 3;
		try {
			int status = smc.delete("employee.deleteData", id);
			System.out.println("status : " + status);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
 
分享到:
评论

相关推荐

    Ibatis增删改查

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

    jsf+ibatis增删改查

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

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

    这个简单的IBatis增删改查操作例子,通过将SQL语句与Java代码分离,使得代码更加清晰,易于维护。在实际项目中,还可以结合Spring框架,实现更高级的事务管理、自动注入等功能,提升开发效率。通过深入学习和实践,...

    ibatis增删改查

    ibatis增删改查 &lt;!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"&gt;

    springMVC+spring+Ibatis增删改查的demo

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

    ibatis增删改查技术

    **Ibatis 增删改查技术** Ibatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Ibatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。它使得 SQL 与 Java 代码完全分离,可以最大...

    Ibatis3.0 增删改查(二)

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

    ibatis实现增删改查功能demo

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

    ibatis的增删改查

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

    struts2+spring+ibatis增删改查(完整项目,导入即可运行)

    在本项目中,iBatis将作为数据访问层,与数据库进行交互,实现增删改查操作。 项目的导入和运行一般是在集成开发环境如MyEclipse中进行。首先,需要确保安装了JDK和Tomcat服务器,并配置好环境变量。然后,将压缩包...

    struts2+spring+ibatis增删改查

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

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

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

    ibatis的简单增删改查

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

    Ibatis 增删改查(一)

    本篇文章将聚焦于Ibatis 3.0版本,探讨其在增删改查(CRUD)操作中的基本使用方法。Ibatis通过XML配置文件或注解方式,将SQL语句与Java代码分离,实现了数据访问的灵活和高效。 首先,我们需要了解Ibatis的基本架构...

    struts2+spring+ibatis 增删改查例子

    在这个例子中,Ibatis 负责与MySQL数据库进行交互,执行增删改查的操作。 Apache DBCP 连接池是Apache组织提供的数据库连接池组件,它可以有效地管理数据库连接,提高应用程序性能并减少资源消耗。在这个项目中,...

    jqgrid+struts2+ibatis增删改查

    4. 数据库操作:Oracle数据库执行iBatis提交的SQL,完成数据的增删改查。 5. 返回结果:iBatis将查询结果转换为Java对象,Action返回给前端,jqGrid更新表格展示。 这种技术组合的优势在于,jqGrid提供了用户友好的...

    ibatis 增删改查 存储过程及分页模拟

    本教程将详细介绍如何利用Ibatis进行增删改查操作,调用存储过程以及实现分页功能,并通过Log4j配置来输出SQL日志。 首先,让我们了解Ibatis的基本配置。Ibatis的核心配置文件是`mybatis-config.xml`,在这里你可以...

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

    在"struts2+spring+ibatis增删改查"的示例中,开发者可能会创建一个简单的用户管理模块。这通常包括以下几个步骤: 1. 创建实体类(Entity):如User类,代表数据库中的用户表。 2. 编写iBatis的Mapper接口和XML...

Global site tag (gtag.js) - Google Analytics