zoukankan      html  css  js  c++  java
  • MyBaits的各种基本查询方式

    <?xml version="1.0" encoding="gbk"?>  
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
     "mybatis-3-mapper.dtd">  
    
    <mapper namespace="org.phf.mapping.UserMapper">  
      
        <!--开启缓存-->  
      <cache />    
        <!--   
        select 查询语句是使用 MyBatis 时最常用的元素之一。  
        id(方法)是 get, parameterType(参数类型)是Integer, resultType(返回类型)是 User对象,其属性就是列名,值是列对应的值。  
         -->  
      <select id="find" parameterType="Integer" resultType="User">  
        SELECT * FROM TB_USER WHERE ID = #{id}  
      </select>  
      <!--单条数据返回类型可以是HashMap,key为列名,value为值 -->  
      <select id="findMap" parameterType="Integer" resultType="HashMap">  
        SELECT * FROM TB_USER WHERE ID = #{id}  
        </select>  
          
      <!-- 返回多条数据时会自动封装成List集合返回-->  
      <select id="findAll" resultType="User">  
        SELECT * FROM TB_USER   
      </select>  
        
        <!-- 最多接受一个参数,所以多个参数可以封装成对象传参,可进行判断处理-->  
      <select id="findWithIf" parameterType="User" resultType="User">  
        SELECT * FROM TB_USER   
        <where>  
            <if test="name!= null">name = #{name}</if>  
            <if test="age!= null">and age = #{age}</if>  
        </where>  
      </select>  
        <!-- 多个键值对参数也可以用map传参,key对应列名-->  
      <select id="findByNameAndAge" parameterType="Map" resultType="User">  
        SELECT * FROM TB_USER   
        <where>  
            <if test="name!= null">name = #{name}</if>  
            <if test="age!= null">and age = #{age}</if>  
        </where>  
      </select>  
        <!-- 多个单值参数也可以用List传参,循环处理-->  
      <select id="findWithIn" parameterType="list" resultType="User">  
        SELECT * FROM TB_USER WHERE id IN  
        <foreach item="item" index="index" collection="list"  
          open="(" separator="," close=")">  
            #{item}  
        </foreach>  
      </select>  
        <!-- 多个单值参数也可以用List传参,循环处理-->  
      <select id="findWithLike" parameterType="String" resultType="User">  
        <bind name="pattern" value="'%' + _parameter + '%'" />  
        SELECT * FROM tb_user   
        WHERE name LIKE #{pattern}  
      </select>  
        
    </mapper>

    实体类User可在mybatis-config.xml文件中增加配置来完成全局的配置即可,例如:

    <typeAliases>  
        <typeAlias alias="User" type="com.ken.pojo.User" />  
    </typeAliases>
    list、array和map的foreach可参考http://www.cnblogs.com/ShanHeDiao/p/4795459.html
  • 相关阅读:
    【和我一起学python吧】Python安装、配置图文详解
    【和我一起学python吧】初学Python,版本如何选择?
    CSS使用简介
    css样式表中的样式覆盖顺序
    转载-ActiveMQ通过JAAS实现的安全机制
    消息队列开发记录笔记-ActiveMQ
    转载-使用消息队列的 10 个理由
    在linux或mac终端下将命令结果输出到文件保存
    ideviceinstaller命令(类似android的adb)
    mac安装mysql及导库
  • 原文地址:https://www.cnblogs.com/ShanHeDiao/p/4795556.html
Copyright © 2011-2022 走看看