博客
关于我
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/

    你可能感兴趣的文章
    Logstash是什么,干什么用的?带你详细认识
    查看>>
    Logstash简介和部署---ElasticStack(ELK)工作笔记019
    查看>>
    logstash设置开机自启动
    查看>>
    Logstash语法入门
    查看>>
    loj #6485. LJJ 学二项式定理 (模板qwq)
    查看>>
    Lombok的使用及其原理
    查看>>
    Lua,Lua API,配置文件
    查看>>
    lumen开发问题:Call to undefined method Illuminate\Validation\Validator::make()
    查看>>
    luogu P1268 树的重量
    查看>>
    Luogu P2326 AKN's PPAP【按位贪心】
    查看>>
    LUOGU P4095 [HEOI2013]Eden 的新背包问题
    查看>>
    Luogu2973:[USACO10HOL]赶小猪
    查看>>
    luogu3172 [CQOI2015]选数 莫比乌斯反演+杜教筛
    查看>>
    lvm基本知识与常用命令
    查看>>
    lvs+keepalive主从和主主架构
    查看>>
    LVS-DR工作原理图文详解
    查看>>
    LVS-负载均衡
    查看>>
    LVS基本介绍
    查看>>
    LVS精益价值管理系统 DownLoad.aspx 任意文件读取漏洞复现
    查看>>
    LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现
    查看>>