zoukankan      html  css  js  c++  java
  • mybatis学习(一)——mybatis简介

    1、简介

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

    2、数据库框架

    2.1 Hibernate

    Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。

    如图所示,Hibernate完成了编译sql,预编译、设置参数、执行sql,封装结果等一系列操作,对程序猿来说相当于黑盒操作。

    而这样做的缺点主要由以下几点

    1、Hibernate作为一个全自动框架,sql语句有系统自动生成,程序员不能对sql进行优化

    2、不适用hql的情况下,不能进行定制化sql语句

    3、如果数据库有大量字段,比如说如果只需要查询id,这时候需要全部映射将一百个字段全部查询出来。

     2.2 mybatis

    有些情况下我们是希望sql语句由程序员进行编写,将java代码和sql语句分开。

     如图所示,mybatis将sql代码通过xml文件进行编写,其余的工作还是由mybatis自动完成,进行了半自动化实现。

  • 相关阅读:
    JWT攻击
    CTF中的RSA 算法
    PHP反序列化字符逃逸
    记一次代码审计 [De1CTF 2019]SSRF Me
    BUU 思路记录(更新中
    日志注入漏洞
    docker 常用命令
    [HITCON 2017]SSRFme
    xss 19道题目
    BUUCTF之[EIS 2019]EzPOP&BUUCTF[2020 新春红包题]1 web
  • 原文地址:https://www.cnblogs.com/pjfmeng/p/7656475.html
Copyright © 2011-2022 走看看