美文网首页
8、mybatis-映射文件-查询

8、mybatis-映射文件-查询

作者: 唯老 | 来源:发表于2019-08-18 15:20 被阅读0次

一、概要

mybatis查询主要通过映射文件中的 <select>元素用于映射 SQL 的 select 语句

二、属性

常用属性

属性 说明
id id是命名空间中的唯一标识符,可被用来代表这条语句。 对应Mapper接口里的方法的名称,大小写敏感
parameterType parameterType (可选配置, 默认为mybatis自动选择处理)
说明 将要传入语句的参数的完全限定类名或别名, 如果不配置,会自动处理
parameterType 主要指定参数类型,可以是基本类型,也可以是复杂类型(如对象)
resultType resultType 与 resultMap 二选一配置
resultType用以指定返回类型,指定的类型可以是基本类型,可以是java容器,也可以是javabean
resultMap resultType 与 resultMap 二选一配置
说明 resultMap用于引用我们通过 resultMap标签定义的映射类型,这也是mybatis组件高级复杂映射的关键

其它属性

属性 说明
flushCache 将其设置为 true,表示语句一旦执行,都会导致本地缓存和二级缓存都会被清空,默认值:false
useCache 如果为true,结果将在二级缓存中缓存。select语句中默认为true
timeout 设置超时,若超时则抛出异常。默认值为 unset(依赖驱动)
fetchSize 这是尝试影响驱动程序每次批量返回的结果行数和这个设置值相等。默认值为 unset(依赖驱动)
statementType 设置MyBatis 使用哪个JDBC的 Statement。可选值: 1.STATEMENT,2.PREPARED 或 3.CALLABLE 的一个。默认值:PREPARED
resultSetType 可选值: 1.FORWARD_ONLY,2.SCROLL_SENSITIVE,3.SCROLL_INSENSITIVE 中的一个,默认值为 unset (依赖驱动)
resultSetType 针对 JDBC 的 ResultSet 接口,可选值: 1.FORWARD_ONLY,2.SCROLL_SENSITIVE, 3.SCROLL_INSENSITIVE 中的一个,默认值为 unset (依赖驱动)
resultOrdered 多结果集时使用。它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分隔的

完整模板

<select
  id=""
  parameterType=""
  resultType=""
  resultMap=""
  flushCache="false"
  useCache="true"
  timeout="20"
  fetchSize="100"
  statementType="PREPARED"
  resultSetType="FORWARD_ONLY"
  resultOrdered="true"
  resultSets="">
</select>

三、栗子

public interface SelectMapper {
    List<User> findAll();
    User findById(Integer uid);
}
public class User implements Serializable {
    private Integer uid;
    private String name;
    private String password;
    private String phone;
    private String email;
    private Date joinDate;
    private Integer status;
}

查询所有

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vip.mybatis.mapper.SelectMapper">
  <!-- 1. resultType 结果集自动映射到 User 属性 注意: 必须属性和列名保持一致(通过后面的学习解决)-->
    <select id="findAll" resultType="com.vip.mybatis.entity.User">
              <!--  resultType 返回集合User对象 -->
            SELECT * FROM user
    </select>
</mapper>

过滤行

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vip.mybatis.mapper.SelectMapper">
    <!--
     1. parameterType="integer" 可选,会自动映射,
     2. resultType="com.vip.mybatis.entity.User" 返回类型唯一的对象类型,多个报错
     -->
    <select id="findById" parameterType="integer" resultType="com.vip.mybatis.entity.User">
        <!--3.  uid 数据库的列名 -->
        <!--4.  #{uid}  对应接口中的参数 -->
        SELECT * FROM user
        WHERE uid=#{uid} AND status = 1
    </select>
</mapper>

过滤列

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vip.mybatis.mapper.SelectMapper">
    <select id="findById" parameterType="integer"     resultType="com.vip.mybatis.entity.User">
        SELECT uid, name, password, phone, email, join_date FROM user
        WHERE uid=#{uid} AND status = 1
    </select>
</mapper>

相关文章

  • 8、mybatis-映射文件-查询

    一、概要 mybatis查询主要通过映射文件中的 元素用于映射 SQL 的 select 语句 二、属性 常用属...

  • 11、mybatis-映射文件-级联查询

    一、概要 前面我们讲的基本都是单表查询,但在我们的实际开发中,我们可能会碰到一些比较复杂的查询,级联关系是一个数据...

  • 10、mybatis-映射文件-resultMap

    一、概要 resultMap 结果映射集,是MyBatis 中最重要、最强大也是最复杂的元素,主要用来定义映射规则...

  • MyBatis(三)MyBatis-映射文件

    一 介绍 映射文件指导着MyBatis如何进行数据库增删改查,有着非常重要的意义; cache –命名空间的二级缓...

  • Web框架-Mybatis-映射文件

    Java工程师知识树[https://www.jianshu.com/p/db77d19a25f6] / We...

  • 7、mybatis-映射文件-总体概述

    一、说明 MyBatis 的真正强大在于它的映射语句,也是Mybatis最核心的内容。由于它的异常强大,映射器的 ...

  • 15、mybatis-映射文件-动态sql

    一、概要 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都...

  • 9、mybatis-映射文件-增删改

    一、概要 本节来盘一下MyBatis中的insert、update、delete和sql元素 二、insert 说...

  • 初识MyBatis

    MyBatis学习笔记(二) Mapper XML文件配置 SQL映射文件几个的元素 ☆ Select查询语句 1...

  • Django-关系映射

    关系映射 一对一映射 语法 查询 一对多映射 语法 查询 多对多映射 语法 查询 自定义查询对象

网友评论

      本文标题:8、mybatis-映射文件-查询

      本文链接:https://www.haomeiwen.com/subject/flirsctx.html