zoukankan      html  css  js  c++  java
  • 2、MyBatis概述

    学习资源:动力节点《2020最新MyBatis教程【IDEA版】-MyBatis从入门到精通》



    1、JDBC 编程

    1.1、传统 JDBC 的使用

    public void findStudent() {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //注册 mysql 驱动
            Class.forName("com.mysql.jdbc.Driver");
            //连接数据的基本信息 url , username, password
            String url = "jdbc:mysql://localhost:3306/springdb";
            String username = "root";
            String password = "123456";
            //创建连接对象
            conn = DriverManager.getConnection(url, username, password);
            //保存查询结果
            List<Student> stuList = new ArrayList<>();
            //创建 Statement, 用来执行 sql 语句
            stmt = conn.createStatement();
            //执行查询,创建记录集,
            rs = stmt.executeQuery("select * from student");
            while (rs.next()) {
                Student stu = new Student();
                stu.setId(rs.getInt("id"));
                stu.setName(rs.getString("name"));
                stu.setAge(rs.getInt("age"));
                //从数据库取出数据转为 Student 对象,封装到 List 集合
                stuList.add(stu);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭资源
                if (rs != null) {
                rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    1.2、JDBC缺陷

    1. 代码比较多,开发效率低
    2. 需要关注 Connection ,Statement, ResultSet 对象创建和销毁
    3. 对 ResultSet 查询的结果,需要自己封装为 List
    4. 重复的代码比较多些
    5. 业务代码和数据库的操作混在一起

    2、MyBatis 框架

    2.1、MyBatis 框架概述

    MyBatis 是 SQL Mapper Framework for Java(sql映射框架)。

    MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis 。 2013 年 11 月迁移到 Github。iBATIS 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。 iBATIS 提供的持久层框架包括 SQL MapsData Access Objects(DAOs)。

    • SQL Maps:sql映射
      可以把数据库表中的一行数据映射为 一个java对象,操作这个对象,就相当于操作表中的数据
    • Data Access Objects:数据访问 , 对数据库执行增删改查

    MyBatis 是一个 sql 映射框架,提供的数据库的操作能力。增强的JDBC,使用 MyBatis 让开发人员集中精神写 sql 就可以了,不必关心 Connection、Statement、ResultSet 的创建,销毁,sql的执行。


    2.2、MyBatis的优势

    • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件就可以了,易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
    • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
    • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
    • 提供xml标签,支持编写动态sql

    2.3、使用者的任务

    使用 MyBatis 的开发人员只需要提供 sql 语句交由 MyBatis处理,得到 List 集合或 java 对象(即表中的数据),最后进行自己的逻辑处理即可。

  • 相关阅读:
    MongoDB+模板引擎 项目实例-学生档案管理
    MongoDB 增删改查命令速查
    MongoDB 数据库概述及环境搭建
    Flutter 升级
    TypeScript 快速上手及学习笔记
    Android ContentProvider 启动分析
    HTTP 报文格式简介
    深入浅出 HTTPS (详解版)
    从你输入网址,到看到网页——详解中间发生的过程
    TCP 三次握手和四次挥手图解(有限状态机)
  • 原文地址:https://www.cnblogs.com/sout-ch233/p/13608285.html
Copyright © 2011-2022 走看看