JavaWeb Mapper代理开发

简介: JavaWeb Mapper代理开发

一.介绍:

       在之前的mybits的编码当中,我们会发现部分的代码在编写的时候依旧存在硬编码的问题,比方说在写测试类当中的SQL执行的时候,如图

一方面要看其原本的空间名称,另一方面还要查看原本的ID,来回转变,让人头大,显得很不方便,由此,我们可以使用MAPPER代理的方式,解决这一硬编码的问题,同样的,使用MAPPER也能够简化代码,以下为MAPPER代理的主要方式

二:MAPPER代理入门

 

     1.定义跟SQL映射文件名称相同的MAPPER的接口  ,并且一定一定需要将MAPPER接口跟SQL映射文件放置在一个的目录下

    在这里需要注意的一点,如果想要将配置文件跟接口放在一个文件夹当中,最好时不要采用将两个放在一个包下,最好是将配置文件跟其单独分开,切记不要像下面这样



       为了实现目的,其实我们仅仅只需要创建一个跟MAPPER接口相同的包名称即可,如图



  TIPS!在更改完包之后,我们的BrandMapper因为路径被修改了,所以我们需要在配置文件当中重新对其映射文件进行一个修改


     

右键,复制其路径,之后再在相应的配置文件当中进行修改即可



 如果表不在当前的数据库当中,记得也要修改相应的数据库名称,都在mybatis的配置文件当中

       2.设置SQL映射文件的名称空间属性为MAPPER接口的全限定名称

       比较容易实现,按照包的位置进行一一输入即可



 3.在MAPPER接口当中定义方法,方法名称就是SQL映射文件当中的sql语句的ID  同时的,要保证参数的类型跟返回值时一样的

  在这里,我们以全部查询为例子   还有一个小细节,就是在接收的时候我们需要提前想好拿什么进行接受,在这里查询全部的查询结果明显是一个集合的形式进行接受,所以我们使用LIST集合,接受一个Brand的对象,Brand对象里面存放的是表的一些属性以及部分的get以及set方法

       4.在测试类当中进行编码

public class MyBatisDemo2 {
    //通过使用MAPPER来简化对于JDBC的代理开发
    public static void main(String[] args) throws IOException {
        // 1.加载MYBITS的核心文件,获取SqlSessionFactory
        String resource = "mybatis-config_UserMapper.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 
        //2.获取SqlSession对象,从而来执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();
 
 
        //执行SQL
        //在这里填入SQL标签即可,以及空间名称
        //3.1获取UserMapper接口的代理对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.selectAll();
 
        System.out.println(users);
 
        //4.释放资源
        sqlSession.close();
    }
}


三:核心配置文件-别名(typeAliases)

       通过使用别名的方式,我们可以让SQL返回语句得以简化

       之前,对于SQL语句的返回我们都是将其包名全部书写,如图

   在添加上标签之后,我们就可以直接在返回类型当中输入相应对象的名称,并且不区分大小写


       

添加标签方式如下;



      在package name当中填写相应对象所在的包名称即可


TIPS:需要注意的一点是,在配置各个的标签的时候,需要注意标签的顺序,如下



                                                        OVER!感谢观看


相关文章
|
14天前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
14天前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
36 0
|
2月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
99 2
|
2月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
141 3
|
2月前
|
移动开发 Cloud Native 安全
Java:跨平台之魂,企业级开发的磐石
Java:跨平台之魂,企业级开发的磐石
|
2月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
194 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
3月前
|
并行计算 Java API
Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
136 1
|
3月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
129 1
|
3月前
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
172 1