使用 Mapper 代理开发方式完成入门案例

  1、定义与SQL映射文件同名的Mapper接口,并将 Mapper 接口和SQL映射文件放置在同一目录下

      (企业开发中,通常是将配置文件统一放到 resource 文件夹中,其编译完成后配置信息文件与com同目录)

      创建同名的Mapper接口 interface

      

      

      

      

      

      注意目录的创建方式中分层符号不再是 点 .  而是 斜杠 /

      如果写成com.cqupt.mapper 其会创建一个名为此的文件夹 不会分层

               

      将UserMapper.xml 移动进去

      

      再次编译

      

      这样就完成了在idea中配置信息文件仍在resource文件夹中 但编译后在同一目录下

      

   

  2、设置SQL映射文件的namespace属性为Mapper接口全限定名

      

  3、在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致

      

      在 UserMapper 接口中定义此方法

      

      SQL映射文件路径更改了,mybatis-config.xml 配置文件中有加载SQL映射文件的部分,也需要改成现在的路径

      

      找到SQL映射文件路径

      

      

      --------关于sql映射文件的加载路径 若满足:(使用Mapper代理开发方式)

          Mapper接口名称和SQL映射文件名称相同

          编译后SQL映射文件与Mapper接口同目录

        ----可以使用包扫描方式简化SQL映射文件的加载

        <!-- Mapper代理开发方式-->
<package name="com.cqupt.mapper"/>

            

  4、编码

    复制之前的MyBatisDemo

    

    (1)通过 SqlSession 的 getMapper 方法获取 Mapper 接口的代理对象

// 3.1 获取UserMapper接口代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

      

    (2)调用对应方法完成SQL的执行

        // 3.2 调用对应的方法执行sql
List<User> users = userMapper.selectAll();

    

    运行结果与之前相同:

      

MyBatis——使用Mapper代理开发的更多相关文章

  1. Mybatis的mapper代理开发方法

    一.开发规范 1.映射文件中的namespase等于mapper接口类路径 2.statement的id与mapper中的方法名一致 3.让mapper的接口方法输入参数类型与statement中的p ...

  2. Mybatis的mapper代理开发dao方法

    看完了之前的mybatis原始的dao开发方法是不是觉得有点笨重,甚至说没有发挥mybatis 作为一个框架的优势.总结了一下,原始的dao方法有以下几点不足之处 dao接口实现方法中存在大量的模板方 ...

  3. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6869133.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——My ...

  5. 【mybatis深度历险系列】深入浅出mybatis中原始dao的开发和mapper代理开发

    使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法.mybatis在进行dao开发的时候,涉及到三姐妹,分别是SqlSessionFactoryBuilder ...

  6. Mybatis学习总结(二)——Mapper代理开发

    一.概要 1.原始DAO开发中存在的问题:(1)DAO实现方法体中存在很多过程性代码.(2)调用SqlSession的方法(select/insert/update)需要指定Statement的id, ...

  7. 【转】Mybatis学习---MyBatis知识、原始Dao开发和mapper代理开发

    [原文]https://www.toutiao.com/i6594610137560777223/ 一.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及 ...

  8. mybatis 学习笔记(三):mapper 代理开发 dao 层

    mybatis 学习笔记(三):mapper 代理开发 dao 层 优势 通过使用mapper 代理,我们可以不需要去编写具体的实现类(使用 getMapper() 方法自动生成),只需编写接口即可, ...

  9. Javaweb知识复习--MyBatis+Mapper代理开发

    一种持久层框架,主要用于简化JDBC MyBatis应用步骤 1.在数据库里面创建一个表 2.创建模块,导入坐标 就是新建一个Maven项目,在pom.xml里面导入mybatis相应导包依赖代码: ...

  10. Mybatis 和Spring整合之mapper代理开发

    F:\1ziliao\mybatis\代码 1.1 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8&quo ...

随机推荐

  1. Springboot层级关系以及作用

    entity entity是实体层,与model,pojo相似,是存放实体的类,类中定义了多个类属性,并且与数据库表的字段保持一致,一张表对应了一个entity类.主要用于定于与数据库对象对应的属性, ...

  2. 【JavaScript】精度损失问题

    参卡博客: https://blog.csdn.net/azl397985856/article/details/99148969/

  3. Google的TPU的逐元素操作特性 —— TPU数据操作时最基本的操作原语(primitive)

    地址: https://jax.readthedocs.io/en/latest/pallas/tpu.html TPU是原来进行矩阵计算加速的一个科学计算的设备,功能大致等同于NVIDIA的GPU的 ...

  4. 【转载】 ImportError: libGL.so.1: cannot open shared object file: No such file or directory——docker容器内问题报错

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35516745/article/de ...

  5. 【转载】 校正Ubuntu时间为北京时间

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_37421762/article/de ...

  6. 机器学习经典教材《模式识别与机器学习》,Pattern Recognition and Machine Learning,PRML官方开放免费下载

    微软剑桥研究院实验室主任Christopher Bishop的经典著作<模式识别与机器学习>,Pattern Recognition and Machine Learning,简称PRML ...

  7. 为baselines算法库安装mujoco环境支持——ubuntu 20.04安装MuJoCo2.1.1

    下载开源版本的mujoco二进制文件: wget https://github.com/deepmind/mujoco/releases/download/2.1.1/mujoco-2.1.1-lin ...

  8. MySQL 优化慢查询

    查询以SELECT 语句的形式执行数据库中的所有查找操作.调整这些语句是重中之重,无论是实现动态网页的亚秒响应时间,还是缩短数小时生成大量夜间报告的时间. 此外SELECT语句,进行查询调谐技术也适用 ...

  9. br4gOnB4ll靶机笔记

    br4gOnB4ll靶机笔记 这是一台vulnhub上的免费靶机,比较简单. 1.主机发现 主机发现 -sn 只做ping扫描,不做端口扫描 nmap -sn 192.168.84.1/24 Star ...

  10. B. BerSU Ball

    B. BerSU Ball 排序后考虑\(dp\),\(dp_{i,j}\)表示前\(i\)个男生和前\(j\)个女生能匹配的最大数. \[\begin{aligned} if(|a_i - b_j| ...