`
yangyingda2008
  • 浏览: 15889 次
社区版块
存档分类
最新评论

mybatis使用经验之查询

阅读更多
[size=small][size=xx-large][size=medium][size=xx-small]今天给大家分享一下mybatis查询的使用方法,希望我的分享能够帮到有需要的人


mybatis查询主要有三种方式实现:

方式一:<select id="selectResouceInfoByNotNullAttributes" resultMap="ExpandResultMap" parameterType="bean类名">    select * from table_name where 1=1      <if test="resourceId != null">        and resource_id = #{resourceId,jdbcType=INTEGER}      </if>      <if test="appid != null">       and  appid = #{appid,jdbcType=TINYINT}      </if>      <if test="resourceUrl != null">       and  resource_url = #{resourceUrl,jdbcType=VARCHAR}      </if>      <if test="resourceDesc != null">       and  resource_desc = #{resourceDesc,jdbcType=VARCHAR}      </if>  </select>

这种方式的要点在where后面的1=1,加上这个能够避免第一个if条件后面是否需要加and的选择困境。
方式二:<select id="selectResouceInfoByNotNullAttributes" resultMap="ExpandResultMap" parameterType="bean类名">    select * from 表名    <where>      <if test="resourceId != null">        and resource_id = #{resourceId,jdbcType=INTEGER}      </if>      <if test="appid != null">       and  appid = #{appid,jdbcType=TINYINT}      </if>      <if test="resourceUrl != null">       and  resource_url = #{resourceUrl,jdbcType=VARCHAR}      </if>      <if test="resourceDesc != null">       and  resource_desc = #{resourceDesc,jdbcType=VARCHAR}      </if>    </where>  </select>

这种方式比第一种多了一个where标签,而且不需要在where后面显示的加一个1=1的字段。
方式三:<select id="selectResouceInfoByNotNullAttributes" resultMap="ExpandResultMap" parameterType="bean类名">    select * from 表名    <trim prefix = "where" prefixOverrides="and|or">      <if test="resourceId != null">        and resource_id = #{resourceId,jdbcType=INTEGER}      </if>      <if test="appid != null">       and  appid = #{appid,jdbcType=TINYINT}      </if>      <if test="resourceUrl != null">       and  resource_url = #{resourceUrl,jdbcType=VARCHAR}      </if>      <if test="resourceDesc != null">       and  resource_desc = #{resourceDesc,jdbcType=VARCHAR}      </if>    </trim>  </select>

第三种方式是最值得提倡的方式,其中的trim标签中标记该标签是以where为前缀的,即where条件的字句。后面的prefixOverrides="and|or"是说如果where标签中包含的内容开头是and或者or,那么久忽略and或者or。还有另外一个:suffixOverrides="and|or",表示where字句中是and或者or结尾则忽略and或者or的意思。

1)id必须与mapper.java里的函数名称一致2)注意sql语句的原格式,去掉if等标签后也要是一个正确的语句3)trim语句可以包含前缀和后缀,前缀用prefix表示,后缀用suffix表示,以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides;正因为trim有这样的功能,所以我们也可以非常简单的利用trim来代替where元素的功能

[size=large]camel骆驼男士凉鞋 真皮潮流魔术贴沙滩鞋男鞋 夏季新款正品凉鞋 只要56元!


http://redirect.simba.taobao.com/rd?w=unionnojs&f=http%3A%2F%2Fai.taobao.com%2Fauction%2Fedetail.htm%3Fe%3DYNbrUj%252FZdJwjmraEDZVrLkKA%252ByOYgzU6TbuPAry6zvGLltG5xFicOdXrTUTgh9sMDPIwxrc30rhF03SVjj78hGqYCHH8uv2oZb7Xhy%252F%252BGHmWC8e6JwspUeIZWR1bMnHu%26unid%3D96391090%26ptype%3D100010%26from%3Dbasic&k=5ccfdb950740ca16&c=un&b=alimm_0&p=mm_96391090_7268811_24064425

原博客地址:
http://jingyan.baidu.com/article/af9f5a2dd8143b43140a4520.html
关于怎样通过sshpass来动态获取日志文件请看下面的文章。
http://jingyan.baidu.com/article/cd4c2979ca556c756e6e60aa.html
java中怎样使用linux的md5sun生成md5文件
http://jingyan.baidu.com/article/cd4c2979ca556c756e6e60aa.html
[/size][/size][/size][/size][/size]
MySql数据库中null值与其他值的比较
http://jingyan.baidu.com/article/9113f81b2adc882b3214c7cb.html
Java编程经验分享之Map使用
http://jingyan.baidu.com/article/215817f7d9d6b31eda1423d8.html
MySql使用经验——通过in查询怎样排序问题
http://jingyan.baidu.com/article/67662997325ccf54d51b84d5.html
Mybatis使用经验之xml注意事项
http://jingyan.baidu.com/article/fec7a1e51d7b451190b4e729.html
Mybatis使用经验分享之批量操作
http://jingyan.baidu.com/article/11c17a2c7f376af446e39d21.html
MyBatis使用经验分享之查询
http://jingyan.baidu.com/article/af9f5a2dd8143b43140a4520.html
linux怎样搭建tomcat服务器
http://jingyan.baidu.com/article/3052f5a1d93c1497f31f860d.html
怎样用linux脚本查询数据中的数据
http://jingyan.baidu.com/article/2c8c281dfb0add0008252a04.html
linux编程实践经验sshpass、md5sum、ssh
http://jingyan.baidu.com/article/cd4c2979ca556c756e6e60aa.html
分享到:
评论

相关推荐

    mybatis基础分页,高级查询

    分页查询是大型应用必备的功能,MyBatis 提供了两种常见的分页方式:一是通过自定义插件(Interceptor),二是使用 MyBatis 提供的 PageHelper 插件。在本项目中,标签提及了 "interceptor",这可能意味着自定义拦截...

    myBatis使用分享

    3. MyBatis调优经验: - **动态SQL**:利用MyBatis的动态SQL功能,可以根据条件动态生成SQL,避免硬编码,提高代码可维护性。 - **缓存机制**:MyBatis支持一级缓存和二级缓存,合理利用可以减少数据库访问,提高...

    mybatis入门实战之一

    在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...

    mybatis-3.4.5.jar

    7. 强大的文档:压缩包中的PDF文档应该是MyBatis的官方用户手册,包含了详细的API参考和教程,对于理解和使用MyBatis非常有帮助。 在实际应用中,MyBatis 的核心组件包括SqlSessionFactoryBuilder、...

    mybatis_eclipse_插件

    本资料集合包含了完整的MyBatis Eclipse 插件的安装、配置以及使用教程,非常适合初学者和有一定经验的开发者参考。 首先,了解MyBatis Eclipse 插件的安装过程。这通常包括以下几个步骤: 1. 打开Eclipse,进入...

    mybatis3中文使用文档

    4. **SQL映射文件**:讲解如何编写Mapper XML文件,包括定义SQL语句、结果映射、参数映射,以及使用动态SQL实现条件查询。 5. **Mapper接口与注解**:介绍如何使用Java接口与注解的方式替代XML配置,使代码更加简洁...

    springmvc mybatis 分页查询

    总的来说,"springmvc mybatis 分页查询"项目展示了如何整合这两个强大的框架,实现高效的数据库查询。对于初学者,理解这个项目的实现方式有助于提升对Web开发和数据库操作的理解;对于经验丰富的开发者,这也是一...

    Mybatis文档(中英)

    这份" Mybatis文档(中英) "包含了关于Mybatis的详细信息,对于学习和使用Mybatis的开发者来说是极其宝贵的资源。 1. **Mybatis简介** Mybatis 是一个轻量级的ORM(Object-Relational Mapping)框架,它避免了几乎...

    mybatis-3.5.6.zip

    1. 易于上手:MyBatis 使用 XML 或注解来配置和映射原生信息,使得开发者能够将注意力集中在 SQL 语句上,而无需处理大量的 JDBC 代码。 2. 动态 SQL:MyBatis 允许在映射文件或注解中编写动态 SQL,这使得 SQL ...

    eclipse mybatis generator插件及使用

    Eclipse MyBatis Generator插件是一款强大的自动化代码生成工具,它极大地简化了开发过程中与数据库交互的代码编写工作。...无论你是初学者还是经验丰富的开发者,都应该尝试使用这个工具来提升你的开发体验。

    Mybatis增删改查使用例

    7. **动态SQL(Dynamic SQL)**:Mybatis允许在SQL语句中使用条件判断,如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签,以实现更灵活的查询逻辑。 在“Mybatis增删改查使用例”中,你可以期待以下内容: -...

    mybatis笔记

    通过阅读《mybatis笔记-1.docx》和《mybatis课堂笔记-2.docx》文档,你可以更深入地理解MyBatis框架的工作原理和实际应用,掌握如何在项目中有效地使用MyBatis进行数据访问。无论是初学者还是经验丰富的开发者,这些...

    MYBATIS学习资料文件

    最后,“学习笔记”意味着可能有作者对MyBatis学习过程中的理解、经验总结,或者是关键概念的解释,这对于初学者来说是极有价值的参考资料。 【标签解析】 标签“mybatis”进一步确认了这份资源的核心内容,即...

    狂神说Mybatis.zip

    "狂神说Mybatis"的课堂笔记涵盖了这个框架的核心概念、配置、使用方法及实战技巧,旨在帮助学习者深入理解和应用Mybatis。 1. **Mybatis简介**:Mybatis 是由Apache基金会维护的一个开源项目,它解决了传统JDBC编程...

    mybatis配置及测试项目

    【标题】"mybatis配置及测试项目"是一个涵盖了MyBatis框架配置、MySQL数据库驱动以及日志设置的实践性项目,旨在帮助用户理解和掌握MyBatis的使用方法。在这个项目中,你将学习如何配置MyBatis以连接到MySQL数据库,...

    MybatisX idea 快速开发插件

    总的来说,MybatisX插件是Java开发者的得力助手,它通过一系列智能化的工具,使得在IntelliJ IDEA中使用Mybatis进行开发变得更加高效和便捷。无论是初学者还是经验丰富的开发者,都能从中受益。

    MyBatis3.3.0中文文档

    MyBatis中文文档对于想要使用MyBatis框架的初学者和经验丰富的开发者来说都是一份宝贵的资源。文档覆盖了MyBatis的安装、配置、映射器、插件、API等方方面面,并鼓励社区参与,不断改进和完善,使得MyBatis持续成为...

    mybatis练习

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和...随着经验的积累,你还可以探索更复杂的场景,比如级联查询、延迟加载、结果集自动转换等高级特性。

    MyBatis3入门到精通教程

    同时,MyBatis提供自动结果映射功能,根据Java类的字段与数据库表的列名匹配,将查询结果转换为Java对象。 6. **动态SQL** MyBatis的动态SQL功能非常强大,允许在XML映射文件中使用if、choose、when、otherwise、...

Global site tag (gtag.js) - Google Analytics