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

Ibatis初步小结

阅读更多
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>
  <transactionManager type="JDBC">
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/sample"/>
      <property name="JDBC.Username" value="root"/>
      <property name="JDBC.Password" value="root"/>
    </dataSource>
  </transactionManager>

  <sqlMap resource="com/cs/User.xml"/>
</sqlMapConfig>


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 namespace="User">
  <typeAlias alias="User" type="com.cs.User"/>

  <resultMap id="UserResult" class="User">
    <result property="id" column="id"/>
    <result property="name" column="name"/>
    <result property="sex" column="sex"/>
    <result property="address" column="address"/>
  </resultMap>

  <!-- Select with no parameters using the result map for Account class. -->
  <select id="selectAllUser" resultMap="UserResult">
    select * from t_user
  </select>
  
  <select id="selectUserById" resultClass="User" parameterClass="int">
  	select * from t_user where id = #id#
  </select>
  
  <insert id="inserUser" parameterClass="User">
  	<selectKey resultClass="int" keyProperty="id">
  		select LAST_INSERT_ID() as value
  	</selectKey>
  	insert into t_user(id, name, sex, address) 
                   values (#id#, #name#, #sex#, #address#)
  </insert>
  
  <update id="modifyUser" parameterClass="User">
  	update t_user set name=#name#, sex=#sex#, address=#address#
                      where id=#id#
  </update>
  
  <delete id="deleteUser" parameterClass="int">
  	delete from t_user where id = #id#
  </delete>
  
  <select id="selectUserByName" parameterClass="String" resultMap="UserResult">
  	select * from t_user where name = '$name$'
  </select>
</sqlMap>


IUserDao.java
package com.cs;

import java.util.List;

public interface IUserDao {
	public List selectAllUser();
	
	public User selectUserById(int id);
	
	public void addUser(User user);
	
	public void delUser(int id);
	
	public void modifyUser(User user);
	
	public List selectUserByName(String name);
}



UserDaoImpl.java

package com.cs;

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;

public class UserDaoImpl implements IUserDao {
	private static SqlMapClient sqlmapper = null;
	static {
		try {
			Reader reader = Resources.getResourceAsReader("com/cs/SqlMapConfig.xml");
			sqlmapper = SqlMapClientBuilder.buildSqlMapClient(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
	
	public void addUser(User user) {
		try {
			sqlmapper.insert("inserUser", user);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void delUser(int id) {
		try {
			sqlmapper.delete("deleteUser", 12);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void modifyUser(User user) {
		try {
			sqlmapper.update("modifyUser", user);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public List selectAllUser() {
		List list = null;
		try {
			list = sqlmapper.queryForList("selectAllUser");
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return list;
	}

	public User selectUserById(int id) {
		User user = null;
		try {
			user = (User)sqlmapper.queryForObject("selectUserById",id);
		} catch (SQLException e) {
			e.printStackTrace();
		}	
		return user;
	}
	
	public List selectUserByName(String name) {
		List list = null;
		try {
			list = sqlmapper.queryForList("selectUserByName", name);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return list;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		IUserDao userdao = new UserDaoImpl();
		
//      添加USER		
//		User user = new User();
//		user.setId(100);
//		user.setName("cs");
//		user.setSex(1);
//		user.setAddress(2);
//		userdao.addUser(user);
//		
//		List list = userdao.selectAllUser();
//		for(int i=0;i<list.size();i++) {
//			System.out.println(list.get(i));
//		}

//		修改USER
//		User user = new User();
//		user.setId(100);
//		user.setName("cs");
//		user.setSex(2);
//		user.setAddress(1);
//		userdao.modifyUser(user);

//		删除USER
//		userdao.delUser(12);
		
//		模糊查询
//		List list = userdao.selectUserByName("zk");
		
//		查询所有USER
		List list = userdao.selectAllUser();
		for(int i=0;i<list.size();i++) {
			System.out.println(list.get(i));
		}
				
//	    根据ID查询
//		User user = userdao.selectUserById(1);
//		System.out.println(user);
	}
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ibatis 学习小结笔记

    ### ibatis 学习小结笔记 #### 一、ibatis 概述 ibatis 是一个基于 Java 的持久层框架,它提供了一种简便的方式来处理关系型数据库与 Java 对象之间的映射(O/R Mapping)。ibatis 在设计上强调的是 SQL 语句的...

    ibatis小结

    **Ibatis小结** Ibatis,一款轻量级的Java持久层框架,是MyBatis的前身,由Clinton Begin在2003年创建。它致力于解决Java应用程序中的数据访问层(DAL)问题,提供了SQL映射框架,使得开发者可以直接编写SQL语句,...

    iBATIS实例小程序

    ### iBATIS实例小程序知识点解析 #### 一、iBATIS简介 iBATIS是一个开源的持久层框架,它提供了一种将对象映射到关系型数据库中的方法,简化了Java应用程序与数据库之间的交互过程。iBATIS的核心是SQL映射文件,...

    IBATIS开发使用小结

    IBATIS是一个开源的ORM(Object-Relational Mapping)框架,最初由Java版本发展而来,后来移植到了.NET平台,成为IBatis.Net。它允许开发者将SQL语句与业务逻辑对象分离,以XML文件的形式存储SQL映射,提高代码的可...

    ibatis小例子Demo

    这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握Ibatis的核心功能和基本用法。 Ibatis的主要特点包括: 1. **XML配置文件**:Ibatis通过XML配置文件来定义SQL语句、参数映射和结果映射,使得SQL与Java代码...

    ibatis总结 ibatis ibatis ibatis ibatis

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

    ibatis demo,ibatis例子,ibatis示例

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

    iBatis一个小项目

    iBatis是一个轻量级的Java持久层框架,它的核心理念是将SQL语句与Java代码分离,使得开发者可以更加灵活地控制SQL的执行。...实践是检验真理的唯一标准,希望这个小项目能帮助你在实际操作中更好地掌握iBatis这一利器。

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)框架中独树一帜。iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,...

    .net中使用iBATIS的小例子

    这个小例子展示了如何在Visual Studio 2008中集成和使用iBATISNET。下面我们将详细探讨iBATIS在.NET中的使用方法,以及如何利用提供的文件进行实践。 首先,了解iBATIS的基本概念。iBATIS是一个轻量级框架,它的...

    Ibatis入门例子,Ibatis教程

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

    ibatis教程,ibatis帮助文档

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

    ibatis2小例子(转)

    标题 "ibatis2小例子(转)" 指向的是一个关于iBatis2的实战教程或示例,这是一套广泛使用的Java持久层框架,它提供了SQL映射功能,使得开发者能够方便地将数据库操作与业务逻辑相结合。在这个小例子中,可能会涉及...

    ibatis的一个小例子

    【标题】:“ibatis的一个小例子” 在Java Web开发领域,Ibatis(现已被更名为MyBatis)是一款广泛使用的持久层框架。它提供了一个灵活的SQL映射框架,使开发者可以将SQL语句与Java代码分离,从而实现数据访问层的...

    Ibatis3手册 Ibatis3参考手册

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

    ibatis2指南及ibatis包

    ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南

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

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

    Ibatis

    **Ibatis 指南** Ibatis 是一个优秀的开源持久层框架,它允许开发者将 SQL 查询与 Java 代码分离,从而避免了传统的 JDBC 编程中的大量模板代码。作为一个轻量级的框架,Ibatis 提供了灵活的映射机制,使得 XML 或...

    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的工作原理,并通过添加注释来帮助我们更好...

    ibatis应对批量update

    - 合理设置批处理的大小,过大过小都会影响性能。 - 对于非常大的数据集,考虑分批次进行批量更新。 通过上述步骤,我们可以在ibatis中实现高效的批量更新操作,极大地提升系统处理大规模数据的能力。这种方法...

Global site tag (gtag.js) - Google Analytics