MyBatis

    xiaoxiao2025-04-19  6

    绿树阴浓夏日长 楼台倒影入池塘

    水晶帘动微风起 满架蔷薇一院香

    一 介绍

    mybatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。 MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。myBatis可以使用简单的xml或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

    MyBatis原理

    SqlMapConfig.xml:此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息UserMapper.xml:sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。SqlSessionFactory:通过mybatis环境等配置信息构造会话工厂对象。SqlSession:由会话工厂创建会话,操作数据库需要通过SqlSession进行。User:Executor把执行sql后的内容输出映射到java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。

    MyBatis中有两个最重要的对象:SqlSessionFactory和SqlSession。 SqlSessionFactory:是 会话工厂,在整个项目中共享,是线程安全的。通过 openSession方法创建SqlSession对象。 SqlSession:线程不安全,用来执行动态SQL,提供了一些方法来完成数据库的操作。

    MyBatis的优点
    简单易学灵活方便解除sql与程序之间的耦合提供映射标签,支持对象与数据库的orm字段关系映射提供对象关系映射标签,支持对象关系组建维护提供xml标签,支持编写动态sql。

    MyBatis的缺点

    编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。二级缓存机制不佳
    在maven的项目中导入myBatis

    pom.xml 中导入什么

    <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency>

    动态SQL

    MyBatis的强大特性之一便是它的动态SQL。

    最新回复(0)