`

iBATIS 如何对sql 输入参数 的映射

阅读更多
一、输入参数的映射:
1、parameterClass的使用
2、parameterMap的使用
3、如何用Map类型的对象作为传入参数

parameterClass
  <insert id="insertUser" parameterClass="User">
  	insert into t_user values (
  		null,#username#,#password#
  	)
  	<selectKey resultClass="int" keyProperty="id">
  		SELECT @@IDENTITY AS ID
  	</selectKey>  	
  </insert>
  
  <insert id="insertUser2">
  	insert into t_user values (
  		null,#username#,#password#
  	)
  	<selectKey resultClass="int" keyProperty="id">
  		SELECT @@IDENTITY AS ID
  	</selectKey> 
  </insert>
 

insertUser使用了parameterClass,所以必需传入User类型的对象
User user = new User();
		user.setUsername("张三");
		user.setPassword("张三密码");
		
		//传递进去的对象,必须是User类型
		Object obj  = sqlMapper.insert("insertUser", user);

insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象
JustAnObject anobj = new JustAnObject();
		anobj.setUsername("用户名");
		anobj.setPassword("用户密码");
		
		//如果没有指定parameterClass属性,则任何一个具有相应属性值
		//的对象都可以被传递进去
		Object obj  = sqlMapper.insert("insertUser2", anobj);


parameterMap的使用
  <parameterMap class="User" id="insertUser-param">
  	<parameter property="username"/>
  	<parameter property="password"/>
  </parameterMap>

  <insert id="insertUser" parameterMap="insertUser-param">
  	insert into t_user values (
  		null,?,?
  	)
  	<selectKey resultClass="int" keyProperty="id">
  		SELECT @@IDENTITY AS ID
  	</selectKey>  	
  </insert>

parameterMap用于传入参数,以便匹配SQL语句中的?号
User user = new User();
		user.setUsername("张三dd");
		user.setPassword("张三密码dd");
		
		Object obj  = sqlMapper.insert("insertUser", user);


利用parameterMap,可以定义参数对象的属性如何映射到SQL查询语句的动态参数上,注意parameterMap中<parameter/>标签的先后顺序不能颠倒!

如何用Map类型的对象作为传入参数
  <!-- 
  这里,可以使用全路径类名,如:
  java.util.Map
  java.util.HashMap
  java.util.TreeMap
  或
  map
  -->
  <insert id="insertUser" parameterClass="map">
  	insert into t_user values (
  		null,#username#,#password#
  	)
  </insert>

		Map user = new TreeMap();
		user.put("username", "Map用户");
		user.put("password", "Map用户密码");
		sqlMapper.insert("insertUser",user);


分享到:
评论

相关推荐

    iBATIS-SqlMaps,ibatis映射文件

    SqlMap.xml文件则是具体的SQL映射文件,它是iBATIS的核心,定义了SQL语句、结果映射、参数映射等。映射文件中的每个元素都代表了一个数据库操作,如查询、插入、更新或删除。例如,元素用于定义一个查询,它可以包含...

    ibatis教程 输入参数详解

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

    ibatis 一对多关系映射

    Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个场景下,我们将深入探讨Ibatis如何实现一对多的关系映射。 一对多关系在数据库设计中非常常见,它...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    4. **Mapper XML文件**:解析SQL映射文件的结构,包括定义SQL语句、结果映射、参数映射等。 5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍...

    iBATIS-SqlMaps2入门代码文档

    通过本文档的学习,你可以掌握如何使用iBATIS-SqlMaps2来进行数据库操作,包括创建配置文件、定义数据源、以及编写简单的映射文件等内容。此外,本文档还简要介绍了SQLMap的基本架构和设计理念,帮助开发者更好地...

    ibatis常用sql语句

    标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...

    Mygeneration_1309_20081006—IBatis_SQL映射+实体模板

    SQL Mapping文件中,XML配置用于描述数据访问逻辑,包括SQL语句、存储过程以及参数映射。 3. **实体类(Entity Class)**:实体类是程序设计中的一个重要概念,它是数据库表在应用程序中的对象化表现。每个实体类...

    ibatis-sqlmaps-2_cn

    IBATIS,作为一个轻量级的持久层框架,它为Java应用程序提供了数据库操作的支持,尤其在处理SQL映射方面表现出色。这个教程的目的是帮助读者理解并熟练掌握IBATIS的核心概念和技术。 首先,让我们了解一下什么是...

    ibatis 一对多 多对多完整映射

    总结,iBATIS的一对多和多对多关系映射是通过XML映射文件和自定义SQL查询实现的。理解这些配置和相关的源码有助于优化数据访问性能,同时使用合适的工具能提高开发效率。在实际项目中,务必根据具体需求选择合适的...

    iBATIS-SqlMaps-中文教程

    《iBATIS-SqlMaps-中文教程》是一个深入解析iBATIS框架的资源,适合对Java Web开发感兴趣的初学者和进阶者。iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化...

    iBATIS-SqlMaps

    6. **`&lt;sqlMap&gt;`元素**:包含具体的SQL映射信息,如SQL语句、参数映射等。 #### 四、SQL映射详解 **SQL映射**是指通过XML文件来定义数据库操作的过程。主要包括: 1. **`&lt;mappedStatement&gt;`**:定义一个具体的SQL...

    iBATIS-SqlMaps-2-Tutorial_cn

    SqlMap接口定义了数据库操作的方法,每个方法对应一个SQL映射文件,这些文件包含了具体的SQL语句和结果集映射。动态SQL是iBATIS的一大特色,它允许在SQL语句中使用条件判断、循环等逻辑,极大地增强了SQL的灵活性。 ...

    Ibatis一对一映射提示

    在Java Web开发中,iBATIS(现在被称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得开发者可以更方便地操作数据库。本篇将深入讲解iBATIS一对一映射的概念、配置及应用,帮助你更好地理解和...

    iBATIS-SqlMaps-2_cn.pdf

    1. **SQL Map Configuration File**:这是整个SQL Maps的核心,它包含了所有SQL映射文件的引用,以及数据源和事务管理器的配置。 2. **SQL ID**:每个SQL语句都有一个唯一的ID,这使得在代码中调用SQL时更加方便和...

    [iBATIS]sql转换工具

    iBATIS 提供了一个SQL映射框架,使得开发者可以编写静态的SQL语句,同时保留了SQL语句的全部能力。它将SQL语句与Java代码分离,通过XML或注解配置文件来定义SQL与Java方法的映射关系,以及参数模型、结果模型等。...

    ibatis SQL映射文件、DAO、model自动生成工具源码

    首先,SQL映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL语句和参数映射。自动生成工具会根据表结构自动创建这些XML文件,包括增删改查等基本操作,使得开发者无需手动编写这些基础代码,而是...

    webwork+ibatis+sqlserver2000

    【iBATIS】:iBATIS是另一个关键组件,它是一个SQL映射框架,将Java对象与数据库操作连接起来。开发者可以编写XML配置文件或使用注解来定义SQL语句,这样既保持了SQL的灵活性,又避免了大量的JDBC代码。iBATIS允许...

    ibatis的sql-map dtd

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,...

    iBATIS-SqlMaps-2 PDF文档资料(日文)

    ja.pdf》可能包含以下内容:基础安装和配置、SqlMap配置详解、数据源的设置、SQL映射文件的编写、动态SQL的使用、事务管理、结果集映射、参数映射、自定义类型处理器、异常处理以及如何在实际项目中集成iBATIS等。...

Global site tag (gtag.js) - Google Analytics