@record01–mybatis的概念及部署例子
一、前提知识
传统的java开发架构分为MVC三层,主要用于web开发;软件开发普遍认同的三层架构为:界面层(controller包–servlet)、业务逻辑层(service包–XXXService)、数据访问层(持久层–XXXDAO包)。
界面层也属于表示层/视图层,直接面向用户接收相关参数,显示即将要请求的处理结果,如常用的jsp/html/servlet。业务逻辑层是基于界面层而建立的处理计算业务逻辑的页面,它主要负责接收来自表示层的数据,调用数据访问层获取相关参数,如service。数据访问层即是实现对数据库的增删改查操作。
以上三层之间的处理交互逻辑:
用户–界面层–业务逻辑层–数据访问层–DB数据库mysql
三层界面所对应的处理框架:
界面层–servlet–springmvc(框架)
业务逻辑层–service类–spring(框架)
数据访问层–dao类–mybatis(框架)
二、mybatis的引入
基于前提知识架构的了解,我们知道mybatis于何处应用;
1,痛点
传统web开发链接数据库使用的方法多为JDBC,而该方法有诸多的缺陷:
①代码量居多,重用性高,开发工作效率低
②众多对象资源(Connection/Statement/ResultSet)需要创建的同时还要实现销毁
③对ResultSet查询的结果,需要手动封装为list
④业务代码和数据库操作相混
2,解决方案
为解决以上所出现的问题,mybatis框架的出现为我们提供了一个较好的方案。
mybatis:Mybatis SQL Mapper Framework for Java(sql映射框架)
它提供一个访问数据库的方案,也是apache的一个开源项目iBatis,基于java的持久层框架;提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
①sql mapper(sql映射):
可把数据库表中一行数据映射为一个java对象,操作对象即为操作表中数据
②Data Access Objects(DAOs):
数据访问,对数据库执行增删改查
总结:mybatis是一个sql映射框架,一个增强版JDBC,提供访问数据库的操作能力。
三、mybatis配置例子
1、下载地址:
https://github.com/mybatis/mybatis-3/releases
2、实现步骤:
①在navicat中新建一个student表
②加入maven的mybatis,mysql驱动的坐标(pom.xml依赖)
<!-- mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
③创建实体类,Student–保存表中的一行数据(Student.java)
package com.fan.domain;
//类名与表名保持一致
public class Student {
//先定义属性,让属性名和列名一样
private Integer id;
private String name;
private String email;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {