`

mybatis_select_标签

 
阅读更多

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

分享到:
评论

相关推荐

    MyBatis_3_User_Guide.zip_mybatis_mybatis api

    4. **动态SQL**:MyBatis的强项之一是动态SQL,可以在XML映射文件或注解中使用if、choose、when、otherwise、where、trim、foreach等标签来构建灵活的SQL语句。 5. **参数映射**:MyBatis支持简单的Map、POJO...

    SQL.rar_MyBatis3DynamicSql_dynamic mybatis_mybatis_mybatis Dyna

    而在MyBatis 3中,引入了动态SQL的功能,这正是"SQL.rar_MyBatis3DynamicSql_dynamic mybatis_mybatis_mybatis Dyna"这个压缩包所关注的主题。 动态SQL是MyBatis提供的一种强大功能,使得开发者能够在运行时根据...

    MyBatis_3_User_Guide_Simplified_Chinese.pdf

    ### MyBatis 3 用户指南知识点总结 #### 一、MyBatis简介 - **定义**:MyBatis是一款优秀的持久层框架,支持简单的SQL查询、存储过程以及高级的映射功能。它能够极大地简化JDBC编码工作,减少手动设置参数和检索...

    MyBatis_Select

    本示例将深入探讨`Select`元素在MyBatis映射器中的应用。 在MyBatis中,`&lt;select&gt;`元素主要用于执行查询操作,如获取单个记录、多条记录或执行无返回值的SQL。下面,我们将详细解析`&lt;select&gt;`元素的各个属性及其...

    mybatis基本配置及例子.zip_mybatis_mybatis sql server_mybatis 实例_mybati

    通过`&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;`和`&lt;delete&gt;`标签编写SQL,使用`&lt;resultMap&gt;`进行结果集映射,实现字段与Java对象属性的对应。 3. **MyBatis的注解映射**: 除了XML方式,MyBatis还支持注解方式进行映射。...

    mybatis_spring_zhenghedao

    标签 "mybatis" 表明整个讨论的核心是MyBatis框架。MyBatis允许开发者直接编写SQL,提供了比JDBC更方便的API,同时避免了过多的手动处理连接和结果集。它通过XML或注解来配置和映射原生信息,将接口和Java的POJOs...

    Mybatis_test.zip

    例如,我们可以创建一个Mapper接口,定义一个查询方法,然后在对应的XML映射文件中编写SQL语句,通过`&lt;select&gt;`标签定义查询,使用`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`等标签实现条件判断。 在Java代码中,我们需要使用...

    mybatis_xml关联插件

    这里的`&lt;select&gt;`标签定义了一个查询方法,`id`是方法名,`parameterType`指定了输入参数类型,`resultType`则指定了返回结果类型。 接下来,我们来讨论MyBatis的关联查询。在处理一对多或多对多关系时,关联查询是...

    day06_mybatis_xml_duobiao.zip

    在 XML 文件中,你可以定义 `&lt;select&gt;` 标签来编写 SQL 查询,例如: ```xml &lt;select id="selectUserAndOrder" resultType="com.example.User"&gt; SELECT u.*, o.order_id, o.product_name FROM user u JOIN order...

    mybatis_crud增删改查数据库操作.zip

    - **Read**(读取): `select`标签用于查询数据,可以返回单个结果或结果集。 - **Update**(更新): 使用`update`标签更新已有记录,例如`&lt;update id="updateUser"&gt;`。 - **Delete**(删除): `delete`标签用于...

    Mybatis资料_mybatis_

    3. **注解方式**:除了XML,Mybatis也支持在Java类和方法上使用注解来定义SQL语句,使得配置更简洁,如`@Select`, `@Insert`, `@Update`, `@Delete`等。 4. **SqlSessionFactory**:它是Mybatis的核心对象,负责...

    mybatis_demo1

    每个 Mapper 文件包含多个 SQL 语句,每个 SQL 语句通过 `&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;` 和 `&lt;delete&gt;` 标签定义。例如,`UserMapper.xml`可能包含了查询用户、插入用户等操作的 SQL。 3. **Mapper 接口**:在...

    Spring整合MyBatis_jar包.rar

    - 配置Mapper:在Spring配置文件中,通过`&lt;bean&gt;`标签将接口和XML文件关联起来。 4. **Spring的AOP支持**:Spring的AOP模块可以用来实现事务管理,通过定义一个事务管理器,比如`PlatformTransactionManager`,并...

    JAVA-mybatis_demo

    使用 `&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;`, `&lt;delete&gt;` 标签编写 SQL,并通过 `&lt;resultMap&gt;` 定义结果映射,确保对象属性与数据库字段一一对应。 5. **Mapper 接口与 XML 映射** MyBatis 允许我们创建一个接口,该...

    mybatis_01.zip

    这里,`select`标签定义了一个查询所有用户的方法,`insert`标签则表示插入用户记录。`id`属性是方法的标识符,`resultType`或`parameterType`指定返回结果或输入参数的Java类。 MyBatis支持多种关联映射,包括一对...

    mybatis_design.zip

    在本项目"mybatis_design.zip"中,作者基于MyBatis的工作原理,手动实现了一个功能相似但仅包含`selectList`方法的轻量级版本。这个简化的实现可以帮助我们深入理解MyBatis的核心机制。 首先,我们要了解MyBatis的...

    [简单]Spring_Mybatis_CRUD简单示例(带数据库)

    标签"源码"表明这个示例会提供完整的代码,而"工具"可能指的是Spring和MyBatis这两个开发工具。通过博客链接(https://53873039oycg.iteye.com/blog/2085047)可以获取更多详细的步骤和解释。 Spring是一个全面的...

    mybatis_day02教案1

    【标题】:"mybatis_day02教案1" 讲述了MyBatis框架的第二日学习内容,主要涉及MyBatis中的接口CRUD操作、DAO实现类方式的CRUD以及主配置文件的标签使用。 【描述】中提到的OGNL表达式在MyBatis中的应用,说明了...

    MyBatis_plugin

    9. **其他辅助功能**:例如,自动导入所需的MyBatis注解和依赖,提供常用的MyBatis注解和标签的快捷插入等。 使用"MyBatis_plugin",开发者可以更专注于业务逻辑,而非繁琐的代码编写,从而提高开发效率和代码质量...

    web6_mybatis_ALL.zip

    4. **增删改查操作**:MyBatis提供了便捷的CRUD操作,如`insert()`, `update()`, `delete()`, `selectOne()`, `selectList()`等方法。通过传入参数,可以实现对特定ID的精确查询,或使用模糊查询条件。 5. **动态...

Global site tag (gtag.js) - Google Analytics