映射器

映射器是由Java接口和XML文件(或注解)共同组成的,作用如下:

①   定义参数类型。

②   描述缓存。

③   描述SQL语句。

④   定义查询结果和POJO的映射关系。

以下用两种方式进行Mapper的实现。

1、 XML文件配置方式实现Mapper

第一步:给出Java接口。

package com.mapper;

import com.entity.User;

public interface UserMapper(){

         public User getUser(int id);

}

第二步:给出一个关于User的映射文件。

<?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.mapper.UserMapper”>

<!—此处是说明,映射所对应的Java类是哪个 -->

         <select id=”getUser” parameterType=”int” resultType=”user”>

<!—此处的id属性值需要与上一步的UserMapper的方法名一致 -->

<!—parameterType表示传进值的类型,resultType表示输出值的类型,此处的user是之前在mybatis-config.xml文件中已经说明过的了,是User类的别名-->

                   select id, username from user_info where id=#{id}

<!-- 此处的id属性的值需要与POJO中的属性名称对应-->

         </select>

</mapper>

第三步,使用Mybatis进行查询。

//获取映射器Mapper

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

User user = userMapper.getUser(1);

System.out.println(user.getUserName());

2、  Java注解方式实现Mapper

使用Java注解方式实现映射关系并不难,只需要在接口中使用Java注解并注入SQL即可。但是如果需要的SQL比较复杂,用注解的方式就会比较吃力(因为SQL需要整合各种注解)。

package com.mapper;

import org.apache.ibatis.annotations.Select;

import com.entity.User;

public interface UserMapper2{

         @Select(value=”select id, username from user_info where id=#{id}”)

         public User getUser(int id);

}

(八)mybatis之映射器的更多相关文章

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

    映射器 映射器的主要元素有八种: 元素名称 描述 select 查询语句,可自定义参数 insert 插入语句,执行后返回插入的条数 update 更新语句,执行后返回更新的条数 delete 删除语 ...

  2. 深入浅出mybatis之映射器

    目录 概述 XML映射器 定义xml映射器 配置xml映射器 使用xml映射器 接口映射器 定义接口映射器 配置接口映射器 使用接口映射器 总结与对比 概述 映射器是MyBatis中最核心的组件之一, ...

  3. MyBatis中映射器Mapper概述

    MyBatis真正强大之处在于它的映射器.因为它异常强大并且编写相对简单,不仅比传统编写SQL语句做的更好并且能节省将近95%的代码量 XML中顶级元素汇总 cache: 给定命名空间的缓存配置 ca ...

  4. Mybatis中映射器实现方式总结

    一种是通过XML文件方式(由一个java接口和一个XML文件构成) RoleMapper rm = session.getMapper(RoleMapper.class); List<Role& ...

  5. 第六章 mybatis注入映射器

    为了代替手工使用 SqlSessionDaoSupport 或 SqlSessionTemplate 编写数据访问对象 (DAO)的代码,MyBatis-Spring 提供了一个动态代理的实现:Map ...

  6. mybatis学习——映射器(mappers)

    在定义 SQL 映射语句之前,我们需要告诉 MyBatis 到哪里去找到这些语句. 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射 ...

  7. Mybatis结果映射器resultMap的基本用法

    <mapper namespace="全局唯一的名称空间"> <resultMap id="本namespace下唯一" type=" ...

  8. mybatis映射器配置细则

    前面三篇博客我们已经多次涉及到映射器的使用了,增删查基本上都用过一遍了,但是之前我们只是介绍了基本用法,实际上mybatis中映射器可以配置的地方还是非常多,今天我们就先来看看映射器还有哪些需要配置的 ...

  9. 【长文】Spring学习笔记(七):Mybatis映射器+动态SQL

    1 概述 本文主要讲述了如何使用MyBatis中的映射器以及动态SQL的配置. 2 MyBatis配置文件概览 MyBatis配置文件主要属性如下: <settings>:相关设置,键值对 ...

随机推荐

  1. 关于window 查看端口命令

    今天小R又知道了一个新的小常识,个人觉得还是蛮实用的,可能对于有些新手来讲应该也不知道吧. 如:大家都知道window查看命令是用  “netstat -an”   , 如图显示一大推打开的端口. 但 ...

  2. hql实现对表的某几个(部分)字段查询

    如何利用hql实现对表的部分字段查询 假如,我们有一张person表,对应实体类Person,表中有字段name,age,sex,address 哪我们如何来实现全部和部份字段的查询呢? hql的写法 ...

  3. 升级到Angular6后对老版本的RXJS代码做相应的调整

    还没有了解过RXJS6的童鞋,可以查看我的另外一篇博文,此篇博文主要是对于RXJS5升级到RXJS6的代码调整示例 RXJS5版本 在RXJS5上我们是这样写请求的 import 'rxjs/add/ ...

  4. swift4.0 方法监听Selector写法总结

    import UIKit class MainViewController: UITabBarController { //MARK:属性 懒加载 lazy var composeBtn = UIBu ...

  5. CodeForces722C Destroying Array【瞎搞】

    题意: 先给你一个序列,然后给你n个1-n的一个数,让你求前i个元素销毁的时候,区间字段和区间最大: 思路: 离线处理,维护新区间首尾位置的起点和终点,倒着处理: #include <bits/ ...

  6. 分布式集群环境下,如何实现session共享五(spring-session+redis 实现session共享)

    这是分布式集群环境下,如何实现session共享系列的第五篇.在上一篇:分布式集群环境下,如何实现session共享四(部署项目测试)中,针对nginx不同的负载均衡策略:轮询.ip_hash方式,测 ...

  7. Python爬虫|爬取喜马拉雅音频

    "GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...

  8. max函数的用法

    题目是   给你一段全英文本,求这段文本中出现次数最多的字母 import string def checkio(text): text = text.lower() return max(strin ...

  9. UILabel和UIbutton(富文本)封装方法

    /** 方法说明:设置label的富文本属性 参数说明:contentStr富文本内容 textColor字体颜色 rangeSet设置字体颜色及大小的位置 */ - (UILabel *)backf ...

  10. [題解]BZOJ_1260_塗色

    簡單的區間dp,結果竟然寫掛了......還掛的很徹底......狗屎 如果區間左右端點相等,那麼不需要在多花一次去刷,對 f [ i+1 ] [ j ],f [ i ] [ j-1 ]取個min, ...