`

Ibatis 基础知识学习

阅读更多
<?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="Account">

	<!-- no mapping -->
	<select id="queryUser" resultClass="com.xixi.ibatis.User"
		parameterClass="string">
		SELECT * FROM tb_user WHERE name = #name#
	</select>

	<!--  内联映射 MAP类 -->
	<select id="queryUser01" resultClass="hashmap"
		parameterClass="int">
		SELECT name, password FROM tb_user WHERE id = #id#
	</select>
	
	<!-- 内联映射 实体类 -->
	<select id="queryUser02" parameterClass="string"
		resultClass="com.xixi.ibatis.User">
		SELECT Id id, name name, password password FROM tb_user WHERE
		name like '%$name$%'
	</select>
	
	<!-- 显示映射 实体类 -->
	<resultMap class="com.xixi.ibatis.User" id="UserResult">
		<result property="id" column="Id"/>
		<result property="name" column="name"/>
		<result property="password" column="password"/>
	</resultMap>
	
	<select id="queryUser03" resultMap="UserResult" parameterClass="int">
		SELECT * FROM tb_user WHERE id = #id#
	</select>
	
	<!-- 显示映射 Map -->
	<resultMap class="hashmap" id="mapResult">
		<result property="id" column="Id"/>
		<result property="name" column="name"/>
		<result property="password" column="password"/>
	</resultMap>
	
	<select id="queryMap02" parameterClass="int" resultMap="mapResult">
		SELECT * FROM tb_user WHERE id = #id#
	</select>
	
	<!-- XML -->
	<select id="queryXML" parameterClass="int" resultClass="xml">
		SELECT * FROM tb_user WHERE id = #id#
	</select>
	
	<!-- 自动映射 -->
	<insert id="insertUser01" parameterClass="com.xixi.ibatis.User">
		INSERT INTO tb_user 
		(
			name, password
		)VALUES(
			 #name:VARCHAR#,
		 #password:VARCHAR#
		)
	</insert>
	
	<!-- 内联映射 -->
	<insert id="insertUser02" parameterClass="com.xixi.ibatis.User">
		INSERT INTO tb_user
		(
			name, password
		)VALUES(
		 #name:VARCHAR#,
		 #password:VARCHAR#
		)
	</insert>
	
	<!-- 外联映射 -->
	<parameterMap class="com.xixi.ibatis.User" id="usermap">
		<parameter property="name" jdbcType="VARCHAR"/>
		<parameter property="password" jdbcType="VARCHAR"/>
	</parameterMap>
	
	<insert id="insertUser03" parameterMap="usermap">
		INSERT INTO tb_user(
			name, password
		)VALUES(
			?,?
		)
	</insert>
	
	<insert id="insertUser04" parameterClass="com.xixi.ibatis.User">
		INSERT INTO tb_user(
			id, name, password
		)VALUES(
			#id#,
			#name#,
			#password#
		)
		
		<!-- 这是Mysql的用法  -->
		<selectKey keyProperty="id" resultClass="int">
			SELECT LAST_INSERT_ID() 
		</selectKey>
	</insert>

<!-- 调用存储过程 -->
	<parameterMap class="java.util.Map" id="pro">
		<parameter property="name" jdbcType="VARCHAR" javaType="string" mode="IN"/>
	</parameterMap>
	<procedure id="p1" parameterMap="pro">
		{call first(?)}
	</procedure>

</sqlMap>



public void testSelect(){
		Reader reader = null ;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			List<User> list = sqlmap.queryForList("queryUser", "xixi");
			
			System.out.println(list.get(0).getName());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
public void testSelect02(){
		Reader reader = null ;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			List<User> list = sqlmap.queryForList("queryUser02", "x");
			
			for (User user : list) {
				System.out.println(user.getName());
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testSelect03(){
		Reader reader = null ;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			User user = (User)sqlmap.queryForObject("queryUser03", 1);
			
			System.out.println(user.getName()+"----"+user.getPassword());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testSelect04(){
		Reader reader = null ;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			Map user = (Map)sqlmap.queryForObject("queryMap02", 2);
			
			System.out.println(user.get("id")+"-------"+user.get("name"));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testSelect05(){
		Reader reader = null ;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			Object user = sqlmap.queryForObject("queryXML", 2);
			
			System.out.println(user);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testInsert(){
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			User user = new User();
			user.setName(" 张三2丰");
			user.setPassword("4569852");
			
			sqlmap.insert("insertUser01", user);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testInsert02(){
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			User user = new User();
			user.setName(" 张四丰");
			user.setPassword("4569852");
			
			sqlmap.insert("insertUser02", user);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testInsert03(){
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			User user = new User();
			user.setName(" 张无丰555");
			user.setPassword("4569852");
			
			Integer id = (Integer) sqlmap.insert("insertUser03", user);
			System.out.println(id+"-----------");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void testInsert04(){
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			User user = new User();
			user.setName(" 张无丰666");
			user.setPassword("4569852");
			
			Integer id = (Integer) sqlmap.insert("insertUser04", user);
			System.out.println(id+"-----------");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
//调用存储过程
	public void testInsert05(){
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			SqlMapClient sqlmap = SqlMapClientBuilder.buildSqlMapClient(reader);
			
			Map<String, String> m = new HashMap<String, String>();
			m.put("name", "xxxxxxxxxxxx");
			
			sqlmap.update("p1", m);
			System.out.println("-----------");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
分享到:
评论

相关推荐

    ibatis基础教学文档

    iBATIS 是一个Java开发中的持久化框架,由Clinton Begin创建,现由Apache基金会支持。它主要用于简化JDBC编程,提供一种“半...学习和理解iBATIS的基础知识,可以帮助开发者更高效地构建和维护数据驱动的应用程序。

    ibatis学习

    通过上述知识点的学习,开发者能够熟练掌握Ibatis的使用,从而高效地进行数据库操作。对于初学者,建议从简单的CRUD操作开始实践,逐渐熟悉Ibatis的各个方面。在理解源码的基础上,可以更好地解决实际开发中遇到的...

    Ibatis开发人员学习资料

    这涵盖了Ibatis的基础到进阶的开发知识。 在提供的文件“ibatis 开发指南.pdf”中,读者可以深入学习到Ibatis的安装步骤、基本使用方法、动态SQL的编写、缓存机制、以及如何进行关联查询和一对一、一对多的映射。...

    ibatis学习锦集

    ",这说明这份资源不仅全面,还强调了易理解性,特别提到了iBatis的基础知识和入门教程,以及JpetStore_4项目,这是一个经典的iBatis应用实例。 **iBatis基础** iBatis是一个优秀的开源持久层框架,它允许开发者将...

    iBATIS实战.pdf

    书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。《iBATIS实战》的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该...

    ibatis基础项目

    【Ibatis基础项目】是一个旨在帮助开发者熟悉IBM开源的轻量级持久层框架Ibatis的实践项目。这个项目的核心目标是让开发者了解如何在实际开发环境中配置和使用Ibatis,以便进行数据库操作。通过这个小型项目,我们...

    java+ibatis的自我学习编码的论坛

    总的来说,通过深入学习并实践mybbs项目,开发者不仅能掌握Java和iBatis的基础,还能了解到如何构建一个完整的Web应用,提升自己的综合开发能力。在阅读博文中,可以结合实际代码,逐步理解这些概念,从而更好地学习...

    iBatis开发指南和一个iBatis实例

    首先,"iBatis精讲PDF"是理解iBatis基础概念和工作原理的重要资料。iBatis的核心理念是将SQL语句写在XML配置文件中,通过Mapper接口与Java代码交互,实现了SQL与业务逻辑的解耦。在这个PDF中,你可能会了解到如何...

    ibatis学习IBATIS好资料

    通过这些资源,学习者可以从基础到高级全面掌握iBATIS的使用,包括但不限于以下知识点: - **SQL映射机制**:理解XML或注解方式定义SQL语句,以及如何映射到Java对象。 - **事务管理**:学习如何配置和控制事务,...

    Ibatis 常用学习资料

    Ibatis 是一款轻量级的Java持久层框架,它与Hibernate和JPA等ORM框架不同,Ibatis 更强调SQL的灵活性,将SQL语句编写在XML...这份"Ibatis 常用学习资料"应涵盖了这些内容,帮助你从基础到进阶,全面理解并运用Ibatis。

    01_传智播客ibatis教程_准备ibatis环境

    【标题】"01_传智播客ibatis教程_准备...通过这个教程,学习者可以全面了解iBatis的基础知识,为后续的数据库操作和实际项目开发打下坚实基础。同时,赖老师的讲解和传智播客的教学质量,将使学习过程更为高效和愉快。

    IBATIS_IN_ACTION

    ### iBATIS基础 - **安装与配置**:了解如何在项目中集成iBATIS,设置数据源,配置SQL映射文件等基本步骤。 - **使用映射语句**:掌握如何定义和使用SQL映射语句,包括参数传递、结果映射等关键概念。 - **非查询...

    Ibatis初级学习案例

    通过这个初级学习案例,你可以了解Ibatis的基础用法,并为进阶学习打下坚实基础。随着对Ibatis的深入理解,你会发现它不仅简化了数据库操作,还为复杂场景下的数据处理提供了强大支持。在实际开发中,结合Spring框架...

    ibatis 学习资料

    4. **iBATIS.pdf**:这可能是iBatis官方文档或者一本关于iBatis教程的PDF,涵盖了iBatis的基础知识、高级特性和最佳实践,是学习和参考的重要资料。 通过学习这些文件,你可以了解以下关键知识点: - **SQL映射**...

    ibatis实战之基础环境搭建(源码).zip

    在本教程中,我们将深入探讨如何搭建用于实战的iBatis基础环境,同时结合源码进行学习。iBatis是一个优秀的、开源的SQL映射框架,它能够将Java应用程序中的数据库操作与SQL语句分离,使得开发人员可以更加专注于业务...

    ibatis api 帮助文档+IBATIS 开发文档

    `ibatis-api.chm`是IBATIS的API帮助文档,它包含了所有核心类和接口的详细说明,是理解和使用IBATIS的基础。以下是一些主要组件和概念: 1. **SqlMapClient**:这是整个IBATIS框架的核心,负责管理所有的SQL映射...

    ibatisDemo 入门源码

    接下来,我们将深入探讨IbatisDemo中的关键知识点。 一、Ibatis框架简介 Ibatis是由MyBatis团队开发的一款轻量级Java ORM(Object-Relational Mapping)框架,它的核心理念是将SQL语句与Java代码分离,使得SQL与...

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

    Ibatis,全称为MyBatis,是一款优秀的Java持久层框架,它主要解决了对象与关系数据库之间的映射问题,使得开发者...所以,这套ibatis官方资料大全是学习Ibatis的宝贵资源,建议开发者仔细研读并熟练掌握其中的知识点。

Global site tag (gtag.js) - Google Analytics