Mybatis映射器select

Mybatis映射器select

简单的select元素的应用

  • id 配合Mapper的全限定名,联合成为一个唯一的标示
  • parameterType 表示这条SQL接受的参数类型
  • resultType表示这条SQL返回的结果类型
  • #{firstName} 是被传递进去的参数
<select id="countUserByFirstName" parameterType="string" resultType="int">
    select count(*) total from t_user where user_name like contact(#{firstName},'%')
</select>

与映射文件匹配的接口方法程序:

public Integer countUserByFirstName(String firstName);

传递多个参数

使用map接口传递参数

public List<Role> findRolesByMap(Map<String,Object> parameterMap);

SQL中配置的方法为:

<select id="findRolesByMap" parameterType="map" resultType="role">

    select id, role_name as roleName, note from t_role where role_name like contact('%',#{roleName},'%')
and note like concat('%',#{note},'%')

</select>

代码清单:

RoleMapperroleMapper = sqlSession.getMapper(RoleMapper.class);

Map<String,Object> parameterMap = new HashMap<String,Object>();

parameterMap.put("roleName",1);

parameterMap.put("note",1);

List<Role> roles = roleMapper.findRolesByMap(parameterMap);

使用注解传递多个参数

public List<Role> findRolesByAnnotation(@Param("roleName") String rolename, @Param("note") String note)

此时并不需要给出parameterType属性,让Mybatis自动探索

通过Java Bean传递多个参数

public class RoleParams
{
    private String roleName;
    private String note;
}

接口方法定义:

public List<Role> findRolesByBean(RoleParams roleParam);

修改映射文件:

<select id="findRolesByBean" parameterType="com.learn.ssm.chapter5.param.RoleParams" resultType="role">
    select id, role_name as roleName, note from t_role where role_name like concat('%',#{roleName},'%') and note like concat ('%',#{note},'%')
</select>

引入Java Bean定义的属性作为参数

RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class);

RoleParams roleParams = new RoleParams();

roleParams.setRoleName("1");

roleParams.setNote("1");

List<Role> roles = roleMapper.findRolesByBean(roleParams);

对于返回值

使用resultMap映射结果集

<mapper namespace="com.learn.ssm.chapter5.mapper.RoleMapper">
    <resultMap id="roleMap"  type="role">
        <id property="id" column="id"/>
        <result property="roleName" column="role_name"/>

        <result property="note" column="note"/>

    </resultMap>

    <select id="getRoleUseResultMap" parameterType="long" resultMap="roleMap">
        select id, role_name, note from t_role where id = #{id}
    </select>
</mapper>

原文地址:https://www.cnblogs.com/zhichun/p/12266229.html

时间: 2024-08-01 17:25:01

Mybatis映射器select的相关文章

MyBatis映射器总结

Mybatis映射器xml配置包含如下标签: select 查询语句,自定义参数返回结果集 insert 插入语句 update 更新语句 delete 删除语句 parameterMap 定义参数映射关系,不建议使用 sql 定义一段SQL,可以再其他部分引用 resultMap 结果集,提供映射规则 cache 给定命名空间的缓存配置 cache-ref 其他命名空间缓存配置的引用 1.select 1.1 select标签包含如下属性: 属性 说明 备注 id 它和Mybatis的命名空间

MyBatis映射器(一)--多参数传递方式

参考自:https://www.cnblogs.com/hellowhy/p/9678245.html 在mybatis映射器的接口中,一般在查询时需要传递一些参数作为查询条件,有时候是一个,有时候是多个.当只有一个参数时,我们只要在sql中使用接口中的参数名称即可,但是如果是多个呢,就不能直接用参数名称了,mybatis中有以下四种 第一种:使用map传递 1??定义接口 1 // 使用map传递多个参数进行查询 2 public List<Product> getByMap(Map<

Mybatis 映射器接口代理对象的方式 运行过程debug分析

查询一张表的所有数据. 环境: 使用工具IntelliJ IDEA 2018.2版本. 创建Maven工程不用骨架 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

mybatis 映射器

1 映射器 Mapper 是由java接口和 XML 文件共同组成.它的作用如下 1)定义参数类型 2)描述缓存 3)描述 SQL 语句 4)定义查询结果和POJO的映射关系 2 SqlSessionFactoryBuilder 主要作用是用来生成 SqlSessionFactory,生成以后就不用了,所以它的生命周期只存在于方法局部. 3 SqlSessionFactory 的作用是创建SqlSession,而 SqlSession 就是一个会话,相当于是JDBC的 Connection 对象

MyBatis XML 映射器 select、insert update 和 delete、参数

MyBatis 的真正强大在于它的语句映射,这是它的魔力所在. 如果跟JDBC 代码进行对比,省掉了将近 95% 的代码. 1 selectCREATE TABLE person (id int(11) NOT NULL AUTO_INCREMENT,username varchar(100) DEFAULT NULL,password varchar(100) DEFAULT NULL,full_name varchar(100) DEFAULT NULL,first_name varchar

Mybatis映射器(一)

XML查询参数: parameterType:可以给出类别名,全名等. resultType:查询结果,可以为 int,float,map等不可以与resultMap同时使用. resultMap: 映射集的引用可以配置映射规则,级联,typeHandler等,是mybatis最复杂的元素. 本文返回是resultType. 查询方法可以在parameterType设置为单个参数XML设置为int,string等,多个参数可以设置为map <select id="getRoleUseRes

Mybatis映射配置文件&lt;select&gt;的学习

resultMap的使用 当查询的表的列名与实体类的属性名不同时,有三种方式来处理: 1.使用SQL的别名 如:select user_name userName from user 2.如果符合驼峰命名,在setting中开启mapUnderscoreToCamelCase 3.设置resultMap,自定义结果集映射规则,不能和resultType同时使用 例: Type指定映射实体类 <resultMap id="BaseResultMap" type="com.

SQL映射器Mapper接口(MyBatis)

SQL映射器Mapper接口 MyBatis基于代理机制,可以让我们无需再写Dao的实现.直接把以前的dao接口定义成符合规则的Mapper. 注意事项: 1.接口必须以Mapper结尾,名字是DomainMapper 2.mapper.xml文件要和Mapper接口建立关系,通过namespace:要能连接到Mapper接口   3.mapper.xml中写查询语句的标签的传入参数类型(parameterType).返回结果类型(resultType)必须和mapper接口中对应方法的传入参数

(十一)mybatis之映射器(select)

映射器 映射器的主要元素有八种: 元素名称 描述 select 查询语句,可自定义参数 insert 插入语句,执行后返回插入的条数 update 更新语句,执行后返回更新的条数 delete 删除语句,执行后返回删除的条数 sql 定义一部分的sql,被各处引用 resultMap 描述从数据库中得到的结果,提供映射规则 cache 给定命名空间的缓存配置 cache-ref 其他命名空间缓存配置的引用   select元素 ①   简单地应用查询的select元素: <select id =