MyBatis基础

MyBatis

第一章 框架的概述

1.1 三层架构

  1. mvc:web开发中,使用mvc架构模式。m:数据,v:视图,c:控制器

    • c控制器:接收数据,调用service对象,显示请求的处理结果。当前使用servlet作为控制器

    • v视图:现在使用jsp、html、css、js。显示请求的处理结果,把m中的数据显示出来

    • m数据:来自数据库mysql,来自文件,来自网络

  2. mvc的作用:

    1. 实现解耦合

    2. 让mvc各负其责

    3. 使得系统扩展更好,更容易维护

  3. 三层架构:

    1. 界面层(视图层):接收用户的请求,调用service,显示请求的处理结果。包含了jsp、html、servlet等对象。对应的包controller。

    2. 业务逻辑层:处理业务逻辑,使用算法处理数据的。把数据返回给界面层。对应的是service包,和包中的很多的XXXService类。例如:StudentService、OrderService、ShopService等等。

    3. 持久层(数据访问层):访问数据库,或者读取文件,访问网络,获取数据。对应的包是dao。和包中很多的XXXDao类。例如:StudentDao、OrderDao、ShopDao等等。

1.2 三层架构请求的处理流程

  • 用户发起请求----->界面层----->业务逻辑层----->持久层----->数据库(mysql)

1.3 为什么要使用三层架构?

  1. 结构清晰、耦合度低、各层分工明确

  2. 可维护性高,可扩展性高

  3. 有利于标准化

  4. 开发人员可以只关注整个结构中的其中某一层功能实现

  5. 有利于各层逻辑的复用

1.4 三层架构模式和框架

  • 每一层对应着一个框架

    1. 界面层---SpringMVC框架

    2. 业务逻辑层---Spring框架

    3. 持久层---MyBatis框架

1.5 框架

  • 什么是框架(framework)

    • 框架:就是一个软件,完成了部分的功能。软件中的类和类之间的方法调用都已经规定好了。通过这些可以完成某些功能。框架看做是模板

    • 框架是可以升级的、改造的。框架是安全的

    • 框架是对某一个方面有用的,不是全能的

1.6 框架解决的问题

  1. 框架能实现技术的整合

  2. 提供开发的效率,降低难度

1.7 JDBC访问数据库的优缺点

  • 优点:

    1. 直观,好理解

  • 缺点:

    1. 创建很多对象Connection、Statement、ResultSet

    2. 注册驱动

    3. 执行sql语句

    4. 把ResultSet转为Student,List集合

    5. 关闭资源

    6. sql语句和业务逻辑层代码混在一起

1.8 MyBatis框架

  • MyBatis:是一个持久层框架,原名是ibatis,2010年改名为MyBatis,MyBatis可以操作数据库,对数据执行增删改查。看做是高级的jdbc,用来解决jdbc的缺点。

  • MyBatis能做什么?

    1. 注册驱动

    2. 创建jdbc中使用的Connection、Statement、ResultSet

    3. 执行sql语句,得到ResultSet

    4. 处理ResultSet,把记录集中的数据转为java对象,同时还能把java对象放入到List集合

    5. 关闭资源

    6. 实现sql语句和java代码的解耦合

  • MyBatis官网:https://mybatis.org/mybatis-3/zh/index.html

  • MyBatis下载jar包或在Maven设置依赖:

MyBatis基础

MyBatis基础

第二章 MyBatis入门

2.1 第一个例子

  • 实现步骤:

    1. 创建student表(id,name,email,age)

    DROP DATABASE IF EXISTS springdb;
    CREATE DATABASE IF NOT EXISTS springdb;
    USE springdb;
    ?
    CREATE TABLE student(
    id INT PRIMARY KEY AUTO_INCREMENT,#编号
    `name` VARCHAR(80) NOT NULL,#姓名
    email VARCHAR(80) NOT NULL,#电子邮件
    age INT NOT NULL#年龄
    );#学生表
    1. 新建maven项目

    MyBatis基础

    1. 修改pom.xml

      1. 加入依赖mybatis依赖、mysql驱动、junit

      2. <build>加入资源插件

    <?xml version="1.0" encoding="UTF-8"?>
    ?
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <!--当前项目的坐标-->
     <groupId>com.kgc</groupId>
     <artifactId>ch01-first</artifactId>
     <version>1.0</version>
    ?
     <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <maven.compiler.source>1.7</maven.compiler.source>
       <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <!--依赖列表-->
     <dependencies>
       <!--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>
       <!--单元测试-->
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>
         <scope>test</scope>
       </dependency>
     </dependencies>
    ?
     <build>
       <!--资源插件:处理src/main/java目录下的xml-->
       <resources>
         <resource>
           <directory>src/main/java</directory>
           <includes>
             <include>**/*.properties</include>
             <include>**/*.xml</include>
           </includes>
           <filtering>false</filtering>
         </resource>
       </resources>
上一篇:理解C#系列 / 核心C# / 数据类型


下一篇:[CrunchBang]修改win+ubuntu 双 系统菜单的 启动顺序 引导