MyBatis概述-增删改查

一、框架概述

1.1 什么是框架

框架(Framework)是整个或部分系统的可重用设计表现为一组抽象构件及构件实例间交互的方法另一种定义认为,框架是可被应用开发者定制的应用骨架。
前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

1.2 框架要解决的问题

框架要解决的最重要的一个问题是技术整合的问题,在J2EE的 框架中,有着各种各样的技术,不同的软件企业需要从J2EE 中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击,而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的 实现技术解耦
这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。
框架一般处在低层应用平台 (如12EE) 和高层业务逻辑之间的中间层

1.3 软件开发的分层重要性

框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现 软件工程中的"高内聚、低合"。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常项的 MVC 软件设计思想就是很好的分层思想。

1.4 分层开发下的常见框架

常见的JavaEE开发框架:

  1. 解决数据的持久化问题的框架

MyBatis

MyBatis 本是apache的一个开源项目Batis,2010年这个项目由apache software foundation 迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。
iBATIS一词来源于“intemer和abatis”的组合,是一个基于Java的持久层框架。BATIS提供的持久层框架包括SQLMaps和DataAccess Obiects (DAOs)
作为持久层的框架,还有一个封装程度更高的框架就是Hibernate,但这个框架因为各种原因目前在国内的流行程度下降大多,现在公司开发也越来越少使用。目前使用Spring Data来实现数据持久化也是一种趋势。

2、解决WEB层问题的MVC框架

spring MVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Sprng Web Flow里面。Spring 框架提供了构建Web 应用程序的全功能MVC模块。使用Spring可插入的MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringlVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2等。

3、解决技术整合问题的框架

spring框架

Spring挺架是由于软件开发的复杂性而创建的。Sprina使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松合性角度而言,绝大部分Java应用都可以从Spring中受益。
Spring是一个轻量级控制反转(loC)和面向切面(AOP)的容器框架。

二、MyBatis简介

2.1 什么是MyBatis?

MyBatis是一个开源轻量级的数据持久化框架,是]DBC和Hibernate的替代方案

MyBatis 前身为 Batis,2002年由 Clinton Begin 发布。2010 年从 Apache 迁移到 Google,并改名为 MyBatis,2013 年又迁移到了Github。

  • mybatis是一个优秀的基于java 的持久层框架,它内部封装了jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。

  • mybatis 通过 xml或注解的方式将要执行的各种 statement 配置起来,并通过aa 对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。

  • 采用ORM思想解决了实体和数据库映射的问题,对 db进行了封装,屏蔽了dbcapi底层访问细节,使我们不用与 jdbc api打交道,就可以完成对数据库的持久化操作。

  • MyBatis 支持定制化SQL、存储过程以及高级映射可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。

MyBatis 的中文官网: https://mybatis.org/mybatis-3/zh/index.html

2.2 为什么要使用MyBatis?

MyBatis主要的目的就是简化JDBC操作,并且满足高并发和高响应的要求

分析以上JDBC存在的问题:

1.数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题2.Sql语句在代码中硬编码,造成代码不易维护,实际应用sql 变化的可能较大,sql变动需要改变java

代码。

3.使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定可能

多也可能少,修改sql还要修改代码,系统不易维护

4对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。

再次回顾mybatis特点:

  1. mybatis内部封装了jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement等繁杂的过程。

  1. mybatis通过xml或注解的方式将要执行的各种statement 配置起来,并通过java对象和statement 中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。

  1. 采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。

三、MyBatis入门案例

下面我们来用一个入门的案例,了解一下MyBatis的基本操作步骤和使用方法。

  1. 创建数据库和数据表
#创建表
CREATE TABLE user(
    uid int PRIMARY KEY AUTO_INCREMENT,
    uname VARCHAR(32),
    password VARCHAR(32),
    phone VARCHAR(11),
    address VARCHAR(64)
);


INSERT INTO user(uname,password,phone,address) VALUES('张三'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃汉堡的代码人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值