MyBatis简介——半自动的持久化层框架(SQL映射框架)|| 支持定制化sql
MyBatis简介
1、MyBatis;和数据库进行交互;持久化层框架(SQL映射框架);
1)、从原始的JDBC-----dbutils(QueryRunner)-------JdbcTemplate----xxx;不用的
称为工具;
工具:一些功能的简单封装
框架:某个领域的整体解决方案;
缓存,考虑异常处理问题,考虑部分字段映射问题。。。
不用原生JDBC:
1)、麻烦;
2)、sql语句是硬编码在程序中的;耦合(数据库层的和java编码耦合);
2)、Hibernate-数据库交互的框架(ORM框架) (使用各种框架,全自动的框架)
ORM(Object Relation Mapping)对象关系映射;
@Table("t_employee")
class Employee{
private Integer empId;
private String empName;
}
session.get("1",Employe.class);
缺点:
1)、定制sql;
2)、HQL;SQL;
3)、全映射框架; 部分字段映射很难;能做;
注:最好有一个框架能支持定制化sql,而且还功能强大;sql也不要硬编码在java文件中(导致维护修改起来比较麻烦);
1)、MyBatis将重要的步骤抽取出来可以人工定制,其他步骤自动化;
2)、重要步骤都是写在配置文件中(好维护);
3)、完全解决数据库的优化问题;
4)、MyBatis底层就是对原生JDBC的一个简单封装;
5)、既将java编码与sql抽取了出来,还不会失去自动化功能;半自动的持久化层框架;
6)、mybatis是一个轻量级的框架;
MyBatis简介——半自动的持久化层框架(SQL映射框架)|| 支持定制化sql相关推荐
- MyBatis是持久化层框架(SQL映射框架)-操作数据库
MyBatis是持久化层框架(SQL映射框架)-操作数据库 1.环境搭建 1).创建一个java工程: 2).创建测试库,测试表,以及封装数据的javaBean,和操作数据库的dao接口 创建表:自己 ...
- 【持久化框架】Mybatis简介与原理
从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwar ...
- mybatis学习(1):【持久化框架】Mybatis简介与原理
从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwar ...
- 【java学习】MyBatis使用——Java 数据持久层框架
1,概念 MyBatis是一个数据持久层(ORM)框架,封装了jdbc.把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现.MyBATIS需要开发人员自己来写sql语句,这可以增加了程 ...
- (Mybatis)Mybatis简介和初步使用
1. Mybatis简介 1.1什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参 ...
- Mybatis简介与原理
转载自 Mybatis简介与原理 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到 ...
- Mybatis简介和优缺点
一.什么是Mybatis? Mybatis是一个半自动的ORM持久层框架,内部封装了JDBC.作为开发者只需要关注sql语句本身.Mybatis是通过xml或注解的方式将需要执行的各种statemen ...
- MyBatis简介与配置
一.MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 一.MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二.SQL语 ...
- 6、mybatis中的sql映射文件详解(1)
对于初学者,如果进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...
最新文章
- 免费教材丨第55期:Python机器学习实践指南、Tensorflow 实战Google深度学习框架
- Linux SSH无交互式访问配置
- 你的CSDN粉丝为何那么少
- tkinter 笔记 :主体框架窗口内容
- Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海
- 编译后没有taget文件夹_maven资源文件的相关配置才会在编译后的target里面有
- [Codeforces967C]Stairs and Elevators(二分查找)
- TCMalloc内存分配器如何减少内存碎片?
- linux桌面版本安装MSDM,Parallel_s desktop怎么安装linux系统
- [转]——软件开发人员如何成长
- 【leetcode】617. Merge Two Binary Trees
- 调度算法——时间片轮转、优先级、多级反馈队列(例题详细!!!)
- Odin插件与基于元数据的编辑器实现
- FPGA之道(6)软件编程思路与FPGA编程思路的变革
- 和“目标”相关的名言
- 图的邻接矩阵存储(简单代码实现)
- latex 字母上面加符号
- 后端:发送短信(腾讯云)-nodejs
- 使用QUuid生成唯一码
- java中图标_java中图标按钮
热门文章
- [源码和文档分享]基于FFMEPEG-MATLAB和C#-SQL SERVER构建的手机录音数据库及特征分析...
- 2.5 linux C 进程与多线程入门--(5)使用互斥量进行同步
- javamail 收邮件并解析附件
- Visio对象插入Word后周围空白过大
- 步骤详解安装Apache web服务器
- Dell R740服务器添加GPU卡
- 不动产登记进入倒计时 哪些房子必须要卖掉?
- 显示android缓存文件,android – 使用ACTION_VIEW在缓存目录中打开文件
- 扬州古城门高挂大红春联迎新春 环卫工受邀揭幕
- centos7下安装mariadb