MyBatis的特点
MyBatis特点?
1.轻量级自身不依赖其他任何JAR,但需要提供JDBC实现
2.灵活,更加适用于需求变化频繁的互联网应用
3.学习成本低,相比ORM框架而言,掌握MyBatis的使用是很轻松的
4.与JDBC相比,减少了50%以上的代码量
5.最简单的持久化框架、小巧简单易学
6.SQL代码从程序代码中彻底分离出来,可重用
7.提供XML标签,支持编写动态SQL
8.提供映射标签,支持对象与数据库的ORM字段关系映射
MyBstis的缺点?
SQL语句编写工作量大,熟练度要高
数据库移植性差,比如mysql移植到Orecle,SQL语句会有差异从而引起err
MyBatis在结构中的位置?
MyBatis处在DAO(数据访问对象)的位置,回顾一下DAO的工作职责:
连接数据库
接收输入数据
拼接并执行SQL
解析并返回结果
MyBatis可以做什么?
使用JDBC完成DAO层存在以下问题
每次操作都需要手动的创建连接,最后关闭连接
对于重复代码通常开发者都会进行封装,但是由于每个人的编码风格不同导致封装的代码也没有固定的套路
MyBatis将数据库连接相关的参数放到配置XML中并封装了创建连接的代码
频繁的创建和销毁连接
由于数据库连接使用的是TCP长连接,并发量大的系统中,这样的方式会导致数据库连接资源耗尽
MyBatis本身实现了连接池,可以解决这一问题,当然后续会更换其他更好的连接池
接受参数拼接SQL语句并执行
每一条SQL语句都是直接写在代码中(硬编码),如果后期需求发生变化,则需要修改源码中的SQL,然后重新编译,测试.....
MyBatis将SQL语句从代码中剥离到Mapper.xml映射文件中
解析结果
JDBC返回的是ResultSet,必须手动将其映射到一个个的对象中,同样是重复度很高的代码;并且存在硬编码问题
MyBatis实现了入参映射到SQL参数,以及结果集映射到POJO对象。
MyBatis的特点相关推荐
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...
- MyBatis的插入后获得主键的方式
需求: 使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法: 在mapper中指定keyProperty属性,示例如下: <insert id=" ...
- mybatis使用注解开发
mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...
- mybatis ResultMap
ResultMap 解决属性名和字段的名称不一致的问题. 查询为null的问题 创建java实体类: public class User {private int id; //idprivate St ...
- mybatis配置文件解析
mybatis配置文件解析 mybatis核心配置文件`mybatis-config.xml文件. mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息. 能配置的内容: con ...
- mybatis CRUD操作
mybatis CRUD操作 select select标签是mybatis最常用的标签之一. select语句有很多属性可以详细的配置每一天sql语句. id 命名空间唯一的标识. 接口中的方法名与 ...
- java mybatis基础
java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...
- mybatis的资源过滤错误及xml文件编码错误
mybatis 解决maven项目内资源过滤的问题 写的配置文件无法被导出或者生效的问题. 解决方案: <build><resources><resource>&l ...
- Mybatis传递多个参数的4种方式
现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...
- SpringBoot (五) :SpringBoot整合mybatis
说在前面 mybatis刚开始使用的时候比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.初期开发了generator可以根据表结果自动生产实体类.配置文件和dao层代码,可以 ...
最新文章
- AIX查看端口被占用
- ScrollView中的LinearLayout不能使用android:layout_heig...
- Docker网络和服务发现
- 3-2:类与对象上篇——类的对象模型和计算类的大小以及this指针问题
- 小米汽车总部正式落户北京,注册地为北京经济技术开发区
- 当.NET遇到SYBASE
- BigDecimal源码分析及使用
- 明日之后维护服务器什么情况,明日之后无法连接服务器是什么原因
- 三、【React-Router6】重定向 Navigate
- MarkdownPad2安装汉化与注册码
- 直击|支付宝还信用卡下月开始收费 每月2000免费额度
- aws mysql 多区_Amazon RDS 多可用区部署
- ubuntu下搭建pptp服务器
- 笔记本显示dns服务器,笔记本电脑显示无线网DNS设置错误该怎么解决
- Mybatis常见错误 Could not find resource com/mybatis/mapper/UserInfoMapper.xml
- python中占位符包括_python中占位符
- SSH2远程连接例子
- linux查看端口pvid,交换机端口及常见问题定位(二)
- 计算机网络课程设计(一)网络聊天程序的设计与实现
- idea两个好用的插件-Code Reading Note与RestfulTool
热门文章
- 【“赤裸裸展现”时代下如何保障网上隐私?】
- windows下 QT 的 Android 环境搭建(附软件测试)
- 安全狗| 一家云原生安全厂商的成长独白
- 帆软报表实现Excel数据导入和校验(转载)
- macro min passed 3 arguments, but takes just 2 min(const _Tp, const _Tp, _Compare);
- windows下composer 安装设置阿里镜像
- Hibernate的基本用法
- C++(数据结构与算法):52---平衡搜索树之分裂树/伸展树
- 使用NPOI 汇出EXCEL,设置样式,字体等
- 10个让你烧脑让你晕的数学悖论!