`

MyBatis理解

 
阅读更多

我们把Mybatis的功能架构分为三层:

 

  1. API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 
  2. 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 
  3. 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。 

MyBatis支撑注解和配置文件两种方式。注释方式比较直观,但对于复杂关系的查询,不如配置文件清晰。如一对多、多对多。配置文件方式,结构清晰,与dao分离,显示不够直观。

 

MyBatis,可以使用动态SQL,如if、choose、when、otherwise、foreach

 

#相当于对数据加上双引号,$相当于直接显示数据。#方式能够很大程度防止sql注入。一般能用#的就别用$

 

Spring+MyBatis多数据源的配置?

可以采用两种方式,一种是,配置多数据源,不同的数据源,对应不同的包,MapperScannerConfigurer 的配置——使用sqlSessionFactoryBeanName属性,注入不同的sqlSessionFactory的名称,这样的话,就为不同的数据库对应的 mapper 接口注入了对应的 sqlSessionFactory。这种方式,适用于不同的数据库。

另一种是使用AOP的方式,这种方式适合master-slave这种数据库结构,主库做增、删、改,从库做查询。AOP根据配置(方法名称)选择数据源。

 

 

分享到:
评论

相关推荐

    mybatis源码+练习代码+手写练习

    手写MyBatis的练习是提升对MyBatis理解的好方法。首先,你需要理解MyBatis的主要功能,如动态SQL、参数映射、结果映射等。然后,尝试模仿MyBatis的架构设计,包括创建一个简单的SqlSession接口和实现,以及一个基本...

    mybatis (教程重点分析)专业教师笔记

    【标题】"mybatis (教程重点分析)专业教师笔记"主要涵盖了MyBatis这一流行的Java持久层框架的核心...这份教程对于Java开发者来说,无论是初学者还是有一定经验的工程师,都是提高MyBatis理解和应用能力的宝贵资料。

    mybatis官网最新视频配套资料-day01.rar

    在“mybatis官网最新视频配套资料-day01.rar”这个压缩包中,我们可以找到一系列关于Mybatis学习的资源,这对于初学者或是希望深化Mybatis理解的开发者来说是非常宝贵的。 首先,Mybatis的核心概念是SQL映射,它...

    MyBatis 1章 入门(使用MyBatis完成CRUD)

    随着对MyBatis理解的深入,你会发现它不仅简化了数据库操作,还有强大的功能,如缓存、动态SQL、结果映射等,能够满足复杂的业务需求。在实际项目中,结合Spring框架可以更好地管理和集成MyBatis,实现松耦合和便捷...

    mybatis测试

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在初次接触MyBatis时,...随着对MyBatis理解的加深,你可以在测试中逐步引入更复杂的场景,如多表联查、事务控制等,进一步提升你的技能。

    Mybatis快速生成实体类和mapperAndXml

    利用这个工具,你可以快速生成带有注解的实体类,比如`@Table`,`@Id`,`@Column`等,这些注解有助于Mybatis理解如何进行ORM(对象关系映射)。 接着,Mapper接口是Java接口,定义了对数据库的操作方法。这些方法...

    mybatis_java_以了解_

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。...随着对MyBatis理解的深入,你会发现它不仅简化了Java数据库编程,还提供了许多高级功能,能够满足各种复杂的应用场景。

    有用的东西 mybatis

    在阅读这篇博客文章后,可以获取更深入的MyBatis理解和实践经验。 标签中包含“源码”和“工具”,这提示我们可能会探讨MyBatis的内部工作原理,以及如何将其与其他工具集成。MyBatis的源码分析有助于理解其执行...

    Mybatis基于注解实现增删查改和多参数列表查询

    虽然在简单的查询中可以直接映射对象,但在面对复杂的查询结构,如嵌套结果集、联合查询等时,可能需要定义`@ResultMap`来帮助Mybatis理解如何映射结果。 7. **Mapper接口和SqlSession**: 在实际应用中,你需要...

    尚硅谷Mybatis视频教程31-40

    《尚硅谷Mybatis视频教程31-40》是一系列深入讲解Mybatis核心技术和实践的教程,适合初学者和有一定基础的学习...无论你是刚接触Mybatis的新手,还是希望深化对Mybatis理解的开发者,这套教程都将是你宝贵的参考资料。

    深入理解mybatis原理

    在深入理解MyBatis原理的过程中,首先要探讨其架构设计,包括框架设计、数据处理层的功能以及框架支撑层中的事务管理机制。 MyBatis的设计理念是简单而优雅,它允许开发者通过Java编程来操作数据库,而不必像传统...

    Mybatis 入门到理解篇

    Mybatis是一种支持定制化SQL、存储过程以及高级映射的持久层框架,它避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的...以上就是Mybatis入门到理解篇的主要知识点,希望对大家有所帮助。

    Mybatis 入门到理解篇.docx

    MyBatis 是一款深受 Java 开发者喜爱的持久层框架,源自 Apache 的 iBatis 项目,后来在 2010 年迁移到 Google Code,并改名为 MyBatis,最终于 2013 年 11 月转至 Github 进行维护。MyBatis 的核心理念是将 SQL 与 ...

    基于IDEA 的maven 项目 的 MyBatis配置

    在Java开发领域,MyBatis是一个非常流行的持久层框架,它简化了数据库操作与Java对象之间的映射。本文将深入探讨如何在IntelliJ ...随着对MyBatis理解的深入,你会发现它的灵活性和强大功能能够极大地提高开发效率。

    【技术资料】-(机构内训资料)MyBatis面试专题.zip

    这份【技术资料】-(机构内训资料)MyBatis面试专题.pdf涵盖了MyBatis的核心概念、关键功能以及在实际开发中的应用,对于准备面试或深化对MyBatis理解的人来说极具价值。 1. **MyBatis概述**:MyBatis是由Apache...

    mybatis demo mybatis 实例

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。...这对于初学者或希望深入理解MyBatis的开发者来说是非常有价值的资源。

    mybatis-3-mybatis-3.2.6

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在深入探讨MyBatis 3.2.6版本的源码之前,...总之,掌握源码对于深入理解MyBatis的工作机制、提升开发效率和解决实际问题具有重要意义。

    mybatis的中文api文档

    MyBatis的日志功能可以帮助开发者更好的理解和调试MyBatis的运行。MyBatis的日志功能可以帮助开发者更好的理解和调试MyBatis的运行。 MyBatis的项目文档和项目信息包括了MyBatis的安装、配置、使用方法等内容。...

    mybatis中文离线文档

    这个"mybatis中文离线文档"包含了MyBatis框架的详尽说明和指南,对于学习和理解MyBatis的各个方面至关重要。以下是一些主要的知识点: 1. **MyBatis架构**:MyBatis的核心组件包括SqlSessionFactoryBuilder、...

    MybatisGenerate_代码生成_tkMybatis_mybatisgenerate_mybatis_

    首先,我们要理解tk.mybatis,它是一个对Mybatis进行二次封装的轻量级框架。tk.mybatis提供了更简洁的注解方式,减少了XML配置文件的使用,使代码更加简洁易读。它支持自动映射、动态SQL等功能,使得在处理数据库...

Global site tag (gtag.js) - Google Analytics