博客
关于我
Mybatis 从入门到精通---编程不良人
阅读量:324 次
发布时间:2019-03-01

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

MyBatis 开发指南

MyBatis 简介

MyBatis 是一个开源的数据库连接框架,旨在简化 JDBC 开发,提供更高效的数据访问层解决方案。它通过 XML配置文件或注解驱动的方式,支持动态SQL、批处理、关联关系处理等功能,适用于多种数据库类型。

环境搭建

获取sqlSession

  • 读取配置文件:mybatis-config.xml
  • 创建SqlSessionFactory
  • 获取SqlSession
  • 获取数据库连接并进行操作
  • public class TestMybatis {    public static void main(String[] args) throws SQLException, IOException {        Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);        SqlSession sqlSession = sessionFactory.openSession();        System.out.println(sqlSession);        sqlSession.getConnection().commit();    }}

    执行查询

    动态SQL

    MyBatis支持多种动态SQL标签,如<sql><if><choose>等,能够灵活处理复杂查询逻辑。

    关系映射

    通过<resultMap>标签,可以实现对象关系映射,支持一对一、一对多、多对多等关系,减少手动处理POJO对象的代码量。

    MyBatis SQL 进阶学习

    XML 中特殊字符

    • & 替换为 &amp;
    • < 替换为 &lt;
    • > 替换为 &gt;
    • " 替换为 &quot;
    • ' 保持不变

    JDBC 类型对应

    MyBatis支持多种JDBC类型,通过<result>标签进行映射,例如:

    • VARCHAR 对应 String
    • INTEGER 对应 Integer
    • DATE 对应 java.sql.Date
    • BLOB 对应 Blob

    分页查询

    通过<select>标签和rownum实现分页,支持多种分页算法。

    动态SQL 标签

    • <sql>:用于复用SQL片段
    • <if>:条件判断
    • <choose>:条件选择
    • <foreach>:批处理
    • <trim>:字符串处理
    • <set>:变量赋值

    关联关系

    一对一

    数据库中通过外键实现一对一关系,代码中通过关联对象进行操作。

    一对多

    通过集合和关联标签实现一对多关系,代码中使用<collection>标签进行封装。

    多对多

    通过中间表实现多对多关系,代码中使用<association>标签封装多个对象。

    MyBatis 配置日志

    logback 配置

  • application.yml中添加logback配置
  • 定义日志输出格式和路径
  • 设置日志级别
  • %d [%thread] %-5level %logger %file : %line - %msg%n
    ${scheduler.manager.server.home}/logs/${app.name}.log

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

    你可能感兴趣的文章
    package.json文件常用指令说明
    查看>>
    SpringBoot中集成eclipse.paho.client.mqttv3实现mqtt客户端并支持断线重连、线程池高并发改造、存储入库mqsql和redis示例业务流程,附资源下载
    查看>>
    Padding
    查看>>
    paddlehub安装及对口罩检测
    查看>>
    SpringBoot中集成Actuator实现监控系统运行状态
    查看>>
    PaddleSlim 模型量化 源代码解读
    查看>>
    paddle的两阶段基础算法基础
    查看>>
    Page Object模式:为什么它是Web自动化测试的必备工具
    查看>>
    SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
    查看>>
    PageHelper 解析及实现原理
    查看>>
    pageHelper分页工具的使用
    查看>>
    pageHelper分页技术
    查看>>
    PageHelper分页查询遇到的小问题
    查看>>
    PageHelper实现分页详细版、整合SSM应用
    查看>>