博客
关于我
mybatis
阅读量:796 次
发布时间:2023-02-09

本文共 3085 字,大约阅读时间需要 10 分钟。

MyBatis 基本使用指南

MyBatis 是一款优秀的持久层框架,支持定制化 SQL、存储过程以及高级映射。它通过减少对 JDBC 的依赖,避免手动设置参数和结果集的获取,使开发更加高效和简洁。通过 XML 或注解配置,MyBatis 可以将原生类型、接口和 Java POJO 映射到数据库记录,充分发挥其强大功能。

系统需求准备

  • 安装依赖包

    使用 Maven 工厂导入必要的 jar 包。例如,添加以下依赖:

    mysql
    mysql-connector-java
    5.0.7
    org.mybatis
    mybatis
    3.2.7
  • 数据库配置

    创建 db.properties.xml 文件,用于简化数据库连接配置。例如:

    mysql.driver=com.mysql.jdbc.Driver
    mysql.url=jdbc:mysql://localhost:3306/sql05
    mysql.username=root
    mysql.password=123
    oracle.driver=oracle.jdbc.driver.OracleDriver
    oracle.url=jdbc:oracle:thin:@localhost:1521:orcl
    oracle.username=scott
    oracle.password=123
  • 引入数据库连接

    在应用程序中加载 db.properties.xml 文件,例如:

  • 映射文件配置

    创建 PersonMapper.xml 映射文件,定义数据库操作逻辑。例如:

    insert into person (name, nickname) values('王小二', '店小二')
    insert into person (name, nickname) values(#{name}, #{nickname})
    update person set name=#{name}, nickname=#{nickname} where pid=#{pid}
    delete from person where pid=#{pid}
  • 工具类实现

    创建 MybatisUtil 类管理 SqlSession,例如:

    package com.syc.dao.utils;
    import java.io.IOException;
    import java.io.Reader;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    public class MybatisUtil {
    private static SqlSessionFactory factory;
    private static ThreadLocal
    localSessions = new ThreadLocal<>();
    static {
    Reader reader = null;
    try {
    reader = Resources.getResourceAsReader("mybatis.xml");
    factory = new SqlSessionFactoryBuilder().build(reader);
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if (reader != null) {
    try {
    reader.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }
    public static SqlSession getSession() {
    SqlSession session = localSessions.get();
    if (session == null) {
    session = factory.openSession();
    localSessions.set(session);
    }
    return session;
    }
    public static void closeSession() {
    SqlSession session = localSessions.get();
    if (session != null) {
    session.close();
    localSessions.remove();
    }
    }
    }
  • 功能架构

    MyBatis 的功能架构分为三层:

  • API 接口层

    提供给外部使用的接口 API,开发人员通过这些本地 API 操作数据库。接口层接收请求后,调用数据处理层执行具体数据处理。

  • 数据处理层

    负责具体的 SQL 查找、解析、执行和结果映射处理。它根据请求完成数据库操作,确保数据转换和映射准确无误。

  • 基础支撑层

    提供最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,为上层数据处理层提供支持。

  • 通过以上步骤和架构设计,可以高效地使用 MyBatis 进行数据库操作,充分发挥其优势,降低开发复杂度。

    转载地址:http://nfffk.baihongyu.com/

    你可能感兴趣的文章
    lvs+keepalive主从和主主架构
    查看>>
    LVS-DR工作原理图文详解
    查看>>
    LVS精益价值管理系统 DownLoad.aspx 任意文件读取漏洞复现
    查看>>
    LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现
    查看>>
    LVS负载均衡
    查看>>
    Lync 小技巧-52-Lync 2013-不加域-客户端-2-导入-证书-信任链
    查看>>
    LZ4 1.10 压缩算法发布!具有多线程功能,压缩速度显著提高达 8 倍
    查看>>
    lzg_ad:打印机需要的组件支持
    查看>>
    mabatis 中出现&lt; 以及&gt; 代表什么意思?
    查看>>
    Mac + Anaconda 上的 Qt 设计器应用程序在哪里?
    查看>>
    Mac book air 重新安装系统验证显示 untrusted_cert_title
    查看>>
    Mac book pro打开docker出现The data couldn’t be read because it is missing
    查看>>
    mac elasticsearch brew安装填坑
    查看>>
    mac M1 下安装docker 及相关镜像
    查看>>
    Mac M1 安装 TensorFlow 使用Python3.8
    查看>>
    Mac M1 芯片不兼容node-sass
    查看>>
    MAC M1大数据0-1成神篇-25 hadoop高可用搭建
    查看>>
    Mac mini7.1 2014年末 安装单windows 10系统
    查看>>
    Mac mini7.1 2014年末系统损坏开机跳出闪动带问候文件夹
    查看>>
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>