mybatis学习笔记(一)for 概念

mybaits相关概念

1.1 mybatis简介

mybatis是是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制化SQL、存储过程以及高级映射。(与另一基于ORM的持久层框架hibernate区别是,hibernate是全自动的,可以完全不写sql语句。)

  • mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
  • mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。

1.2 ORM概念

ORM全称Object/Relation Mapping:表示对象-关系映射的缩写

  • ORM完成面向对象的编程语言到关系数据库的映射。
  • ORM把关系数据库包装成面向对象的模型。
  • ORM框架是面向对象设计语言与关系数据库发展不同步时的中间解决方案。
  • ORM框架实现的效果:把对持久化对象的保存、修改、删除 等操作,转换为对数据库的操作
  • 当ORM框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性,又可以利用关系数据库的技术优势。

1.3 mybatis历史

  • 原是apache的一个开源项目iBatis, 2010年6月这个项目由apache software foundation 迁移到了google code,随着开发团队转投Google Code旗下,ibatis3.x正式更名为mybatis ,代码于2013年11月迁移到Github。
  • iBATIS一词来源于”internet”和”abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

1.4 mybatis优势

mybatis是一个半自动化的持久层框架,对开发人员开说,核心sql还是需要自己进行优化,sql和java编码进行分离,功能边界清晰,一个专注业务,一个专注数据。

Original: https://www.cnblogs.com/a-traveler-under-the-moon/p/14773715.html
Author: 月下旅人阿飞
Title: mybatis学习笔记(一)for 概念

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570710/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • kafka详解(一)–kafka是什么及怎么用

    kafka是什么 在回答这个问题之前,我们需要先了解另一个东西–event streaming。 什么是event streaming 我觉得, event strea…

    Java 2023年6月13日
    082
  • 删除链表中倒数第N个节点_19

    /* 1.借助栈实现 解题思路: 1.&…

    Java 2023年6月5日
    084
  • 非确定的自动机NFA确定化为DFA

    摘要: 在编译系统中,词法分析阶段是整个编译系统的基础。对于单词的识别,有限自动机FA是一种十分有效的工具。有限自动机由其映射f是否为单值而分为确定的有限自动机DFA和非确定的有限…

    Java 2023年6月7日
    065
  • 一. 为什么要用SpringMVC框架

    以前是怎么做项目的 ? CoreServlet,起到一个中心处理器作用。所有的请求到服务器,服务器给CoreServlet,在里面处理所有表的增删改查,跳转也在里面做。 以前做部门…

    Java 2023年6月16日
    086
  • spring中使用mockito

    1 mockito介绍和入门 官方:https://github.com/mockito/mockito 入门: 5分钟了解Mockito http://liuzhijun.ite…

    Java 2023年5月30日
    078
  • java基础篇 —— int和Integer有什么区别

    int和Integer的区别 1 、类型不同:Integer 是对象类型,int 是基本数据类型。Integer 是int 的包装类。 2 、Integer 变量需要实例化之后才能…

    Java 2023年6月5日
    0104
  • 贪吃蛇项目的制作

    该项目是根据GUI编程学习所写,详细的学习课程可以参考狂神说老师的GUI课程:一小时开发贪吃蛇。 以下仅仅为简要说一下 逻辑,源码放在最后。 实现该项目总共用到三个类: Data数…

    Java 2023年6月7日
    088
  • 【Redis】ziplist压缩列表

    压缩列表 压缩列表是列表和哈希表的底层实现之一: 如果一个列表只有少量数据,并且数据类型是整数或者比较短的字符串,redis底层就会使用压缩列表实现。 如果一个哈希表只有少量键值对…

    Java 2023年6月8日
    0101
  • SpringBoot 整合Spring Security + JWT 实现前后端分离项目的认证授权

    以下是伪代码,要根据自己的业务自行修改 引入依赖 还用了jwt、redis、fastjson 等 如果添加了就不用添加 SercurityConfig.java User.java…

    Java 2023年5月30日
    065
  • 阿里巴巴编码规范-考试认证

    阿里巴巴编码规范-考试认证 雨打梨花深闭门,忘了青春,误了青春。 1、注册阿里云账号 2、购买认证 需要怒支付一顿早餐Q,可以用支付宝支付,选择支付宝支付然后直接输入支付密码就OK…

    Java 2023年6月5日
    0103
  • 华为交换机如何配置SSH远程登录,一分钟秒学会

    从事网络运维工作的小伙伴们都知道,在交换机正式上线时,必须完成配置SSH远程登录,这样做目的是为了日后,维护方便,不需要每次登录设备都要跑到机房,这样既不现实,又费事。 远程登录方…

    Java 2023年6月8日
    082
  • 服务器巡检方法

    1.1 查看磁盘空间使用率 &#x6B63;&#x5E38;&#xFF1A;rate<80% 关注:80%<rate<90% 警告:90%…

    Java 2023年6月8日
    087
  • redis启动报无权限

    设置一下SELINUX 关闭SElinux 查看selinux状态 [root@localhost ~]# getenforce Enforcing 表示启动 临时关闭 [root…

    Java 2023年6月9日
    076
  • SpringBoot打包第三方本地jar包

    有一些包我们maven仓库找不到,那就只能在项目中引入本地jar包文件,但是maven打包的时候会显示没有这个jar包 首先我们把jar包放到resource下的lib文件夹 然后…

    Java 2023年5月30日
    075
  • nginx server中的root和location的root的区别

    自己发现公司服务器上的nginx的配置文件里,server中有个root, location中也有root。当直接访问域名,后面什么都不加, 发现走的是location里面的roo…

    Java 2023年5月30日
    081
  • SpringCloud–feign的配置加载

    spring cloud feign我们使用 @FeignClient注解,其中有几个核心属性: java;gutter:true; @AliasFor("name&qu…

    Java 2023年6月7日
    0113
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球