mybatis select的输入和输出
例如 select id,name,age from user where name like '%王%' and age>20
这里既有输入也有输出
select的属性
id,parameterClass,resultClass,parameterMap,resultMap,cacheModel
resultSetType,fetchSize,xmlResultName,remapResults,timeout
输入 parameterClass,ParameterMap
resultSetTYpe为结果集类型,主要是说游标,具有方向性,可以取
forward_only,scoll_insensitive,scoll_sensitive,具体情况具体配置
fetchSize 预取回数据量的大小
xmlResultName,返回result为xml的名称
如果返回的结果可以修改则吧remapResults设为true,否则设为false
输入,用参数带进来
可以是#,$做为占位符
不同占位符使用
Xml代码
<SPAN style="FONT-SIZE: small"><select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT like '$department$'
</select>
</SPAN>
Xml代码
<SPAN style="FONT-SIZE: small"><SPAN style="FONT-SIZE: x-small"><select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<select id="getAllUsers1" resultClass="com.mypackage.User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT like '$department$'
</select>
</SPAN></SPAN>
#不能放在‘’之内
resultMap
Xml代码
<SPAN style="FONT-SIZE: small"><!-- 无映射 -->
<select id="getAllUsers1" resultClass="User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 内联映射->实体类 -->
<select id="getAllUsers2" resultClass="User"
parameterClass="string">
SELECT USERID as userid, USERNAME as username, PASSWORD as
password, DEPARTMENT as department FROM USER WHERE
DEPARTMENT=#department#
</select>
<!-- 内联映射->MAP类 -->
<select id="getAllUsers3" resultClass="hashmap"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->实体类 -->
<resultMap id="accoutResult" class="User">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers4" resultMap="accoutResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->MAP类 -->
<resultMap id="mapResult" class="hashmap">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers5" resultMap="mapResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
</SPAN>
Xml代码
<SPAN style="FONT-SIZE: small"><SPAN style="FONT-SIZE: x-small"><!-- 无映射 -->
<select id="getAllUsers1" resultClass="User"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 内联映射->实体类 -->
<select id="getAllUsers2" resultClass="User"
parameterClass="string">
SELECT USERID as userid, USERNAME as username, PASSWORD as
password, DEPARTMENT as department FROM USER WHERE
DEPARTMENT=#department#
</select>
<!-- 内联映射->MAP类 -->
<select id="getAllUsers3" resultClass="hashmap"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->实体类 -->
<resultMap id="accoutResult" class="User">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers4" resultMap="accoutResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
<!-- 显示映射->MAP类 -->
<resultMap id="mapResult" class="hashmap">
<result property="userid" column="USERID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
<result property="department" column="DEPARTMENT" />
</resultMap>
<select id="getAllUsers5" resultMap="mapResult"
parameterClass="string">
SELECT * FROM USER WHERE DEPARTMENT=#department#
</select>
</SPAN></SPAN>
map映射 ,返回的list里的每一项都是一个map然后有键值对
xml映射
Xml代码
<SPAN style="FONT-SIZE: small"><!-- XML -->
<select id="selectXML" parameterClass="string" resultClass="xml"
xmlResultName="log">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#
</select>
</SPAN>
Xml代码
<SPAN style="FONT-SIZE: small"><SPAN style="FONT-SIZE: x-small"><!-- XML -->
<select id="selectXML" parameterClass="string" resultClass="xml"
xmlResultName="log">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#
</select>
</SPAN></SPAN>
resultClass="xml"这个xml也是预定义好的类
在测试类里调用后返回的是xml格式的字符串,指定的xmlResultName相当于xml的
根元素
返回结果有三类,1 返回直接指定的类 2 返回map类型 3 返回xml
分享到:
相关推荐
4. **动态SQL**:MyBatis的强项之一是动态SQL,可以在XML映射文件或注解中使用if、choose、when、otherwise、where、trim、foreach等标签来构建灵活的SQL语句。 5. **参数映射**:MyBatis支持简单的Map、POJO...
而在MyBatis 3中,引入了动态SQL的功能,这正是"SQL.rar_MyBatis3DynamicSql_dynamic mybatis_mybatis_mybatis Dyna"这个压缩包所关注的主题。 动态SQL是MyBatis提供的一种强大功能,使得开发者能够在运行时根据...
### MyBatis 3 用户指南知识点总结 #### 一、MyBatis简介 - **定义**:MyBatis是一款优秀的持久层框架,支持简单的SQL查询、存储过程以及高级的映射功能。它能够极大地简化JDBC编码工作,减少手动设置参数和检索...
本示例将深入探讨`Select`元素在MyBatis映射器中的应用。 在MyBatis中,`<select>`元素主要用于执行查询操作,如获取单个记录、多条记录或执行无返回值的SQL。下面,我们将详细解析`<select>`元素的各个属性及其...
通过`<select>`, `<insert>`, `<update>`和`<delete>`标签编写SQL,使用`<resultMap>`进行结果集映射,实现字段与Java对象属性的对应。 3. **MyBatis的注解映射**: 除了XML方式,MyBatis还支持注解方式进行映射。...
标签 "mybatis" 表明整个讨论的核心是MyBatis框架。MyBatis允许开发者直接编写SQL,提供了比JDBC更方便的API,同时避免了过多的手动处理连接和结果集。它通过XML或注解来配置和映射原生信息,将接口和Java的POJOs...
例如,我们可以创建一个Mapper接口,定义一个查询方法,然后在对应的XML映射文件中编写SQL语句,通过`<select>`标签定义查询,使用`<if>`、`<choose>`、`<when>`等标签实现条件判断。 在Java代码中,我们需要使用...
这里的`<select>`标签定义了一个查询方法,`id`是方法名,`parameterType`指定了输入参数类型,`resultType`则指定了返回结果类型。 接下来,我们来讨论MyBatis的关联查询。在处理一对多或多对多关系时,关联查询是...
在 XML 文件中,你可以定义 `<select>` 标签来编写 SQL 查询,例如: ```xml <select id="selectUserAndOrder" resultType="com.example.User"> SELECT u.*, o.order_id, o.product_name FROM user u JOIN order...
- **Read**(读取): `select`标签用于查询数据,可以返回单个结果或结果集。 - **Update**(更新): 使用`update`标签更新已有记录,例如`<update id="updateUser">`。 - **Delete**(删除): `delete`标签用于...
3. **注解方式**:除了XML,Mybatis也支持在Java类和方法上使用注解来定义SQL语句,使得配置更简洁,如`@Select`, `@Insert`, `@Update`, `@Delete`等。 4. **SqlSessionFactory**:它是Mybatis的核心对象,负责...
每个 Mapper 文件包含多个 SQL 语句,每个 SQL 语句通过 `<select>`, `<insert>`, `<update>` 和 `<delete>` 标签定义。例如,`UserMapper.xml`可能包含了查询用户、插入用户等操作的 SQL。 3. **Mapper 接口**:在...
- 配置Mapper:在Spring配置文件中,通过`<bean>`标签将接口和XML文件关联起来。 4. **Spring的AOP支持**:Spring的AOP模块可以用来实现事务管理,通过定义一个事务管理器,比如`PlatformTransactionManager`,并...
使用 `<select>`, `<insert>`, `<update>`, `<delete>` 标签编写 SQL,并通过 `<resultMap>` 定义结果映射,确保对象属性与数据库字段一一对应。 5. **Mapper 接口与 XML 映射** MyBatis 允许我们创建一个接口,该...
这里,`select`标签定义了一个查询所有用户的方法,`insert`标签则表示插入用户记录。`id`属性是方法的标识符,`resultType`或`parameterType`指定返回结果或输入参数的Java类。 MyBatis支持多种关联映射,包括一对...
在本项目"mybatis_design.zip"中,作者基于MyBatis的工作原理,手动实现了一个功能相似但仅包含`selectList`方法的轻量级版本。这个简化的实现可以帮助我们深入理解MyBatis的核心机制。 首先,我们要了解MyBatis的...
标签"源码"表明这个示例会提供完整的代码,而"工具"可能指的是Spring和MyBatis这两个开发工具。通过博客链接(https://53873039oycg.iteye.com/blog/2085047)可以获取更多详细的步骤和解释。 Spring是一个全面的...
【标题】:"mybatis_day02教案1" 讲述了MyBatis框架的第二日学习内容,主要涉及MyBatis中的接口CRUD操作、DAO实现类方式的CRUD以及主配置文件的标签使用。 【描述】中提到的OGNL表达式在MyBatis中的应用,说明了...
9. **其他辅助功能**:例如,自动导入所需的MyBatis注解和依赖,提供常用的MyBatis注解和标签的快捷插入等。 使用"MyBatis_plugin",开发者可以更专注于业务逻辑,而非繁琐的代码编写,从而提高开发效率和代码质量...
4. **增删改查操作**:MyBatis提供了便捷的CRUD操作,如`insert()`, `update()`, `delete()`, `selectOne()`, `selectList()`等方法。通过传入参数,可以实现对特定ID的精确查询,或使用模糊查询条件。 5. **动态...