一、输入参数的映射:
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);
分享到:
相关推荐
SqlMap.xml文件则是具体的SQL映射文件,它是iBATIS的核心,定义了SQL语句、结果映射、参数映射等。映射文件中的每个元素都代表了一个数据库操作,如查询、插入、更新或删除。例如,元素用于定义一个查询,它可以包含...
标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用...
Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个场景下,我们将深入探讨Ibatis如何实现一对多的关系映射。 一对多关系在数据库设计中非常常见,它...
4. **Mapper XML文件**:解析SQL映射文件的结构,包括定义SQL语句、结果映射、参数映射等。 5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍...
通过本文档的学习,你可以掌握如何使用iBATIS-SqlMaps2来进行数据库操作,包括创建配置文件、定义数据源、以及编写简单的映射文件等内容。此外,本文档还简要介绍了SQLMap的基本架构和设计理念,帮助开发者更好地...
标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...
SQL Mapping文件中,XML配置用于描述数据访问逻辑,包括SQL语句、存储过程以及参数映射。 3. **实体类(Entity Class)**:实体类是程序设计中的一个重要概念,它是数据库表在应用程序中的对象化表现。每个实体类...
IBATIS,作为一个轻量级的持久层框架,它为Java应用程序提供了数据库操作的支持,尤其在处理SQL映射方面表现出色。这个教程的目的是帮助读者理解并熟练掌握IBATIS的核心概念和技术。 首先,让我们了解一下什么是...
总结,iBATIS的一对多和多对多关系映射是通过XML映射文件和自定义SQL查询实现的。理解这些配置和相关的源码有助于优化数据访问性能,同时使用合适的工具能提高开发效率。在实际项目中,务必根据具体需求选择合适的...
《iBATIS-SqlMaps-中文教程》是一个深入解析iBATIS框架的资源,适合对Java Web开发感兴趣的初学者和进阶者。iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化...
6. **`<sqlMap>`元素**:包含具体的SQL映射信息,如SQL语句、参数映射等。 #### 四、SQL映射详解 **SQL映射**是指通过XML文件来定义数据库操作的过程。主要包括: 1. **`<mappedStatement>`**:定义一个具体的SQL...
SqlMap接口定义了数据库操作的方法,每个方法对应一个SQL映射文件,这些文件包含了具体的SQL语句和结果集映射。动态SQL是iBATIS的一大特色,它允许在SQL语句中使用条件判断、循环等逻辑,极大地增强了SQL的灵活性。 ...
在Java Web开发中,iBATIS(现在被称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得开发者可以更方便地操作数据库。本篇将深入讲解iBATIS一对一映射的概念、配置及应用,帮助你更好地理解和...
1. **SQL Map Configuration File**:这是整个SQL Maps的核心,它包含了所有SQL映射文件的引用,以及数据源和事务管理器的配置。 2. **SQL ID**:每个SQL语句都有一个唯一的ID,这使得在代码中调用SQL时更加方便和...
iBATIS 提供了一个SQL映射框架,使得开发者可以编写静态的SQL语句,同时保留了SQL语句的全部能力。它将SQL语句与Java代码分离,通过XML或注解配置文件来定义SQL与Java方法的映射关系,以及参数模型、结果模型等。...
首先,SQL映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL语句和参数映射。自动生成工具会根据表结构自动创建这些XML文件,包括增删改查等基本操作,使得开发者无需手动编写这些基础代码,而是...
【iBATIS】:iBATIS是另一个关键组件,它是一个SQL映射框架,将Java对象与数据库操作连接起来。开发者可以编写XML配置文件或使用注解来定义SQL语句,这样既保持了SQL的灵活性,又避免了大量的JDBC代码。iBATIS允许...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,...
ja.pdf》可能包含以下内容:基础安装和配置、SqlMap配置详解、数据源的设置、SQL映射文件的编写、动态SQL的使用、事务管理、结果集映射、参数映射、自定义类型处理器、异常处理以及如何在实际项目中集成iBATIS等。...