码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【MyBatis】快速入门


    1、简介

            MyBatis是一个持久化、轻量级的半自动化ORM框架,封装了所有JDBC的原始操作。查询参数以及获取结果集等。

    1.1 原始JDBC操作存在的问题

            (1)数据库连接、释放频繁造成系统资源浪费,影响系统性能

            (2)SQL语句在代码中固定,不够灵活不易改动

            (3)进行查询操作时,需要手动将结果集封装到实体类中。进行插入操作时,需要手动将

                    参数设置到占符位置

    1.2 解决方案

            (1)使用数据库连接池初始化连接资源

            (2)将SQL语句抽取到xml配置文件中

            (3)使用反射、内省等底层技术,将实体类的属性与表中的字段进行自动映射

    2、快速构建

    1、添加MyBatis坐标以及数据库连接驱动

    1. org.mybatis
    2. mybatis
    3. 3.4.6
    4. com.mysql
    5. mysql-connector-j
    6. 8.0.31
    7. junit
    8. junit
    9. 4.13.2
    10. test

    2、编写MyBatis核心配置文件sqlMapConfig.xml

    1. "1.0" encoding="UTF-8"?>
    2. configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <environments default="dev">
    7. <environment id="dev">
    8. <transactionManager type="JDBC">transactionManager>
    9. <dataSource type="POOLED">
    10. <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    11. <property name="url" value="jdbc:mysql://localhost:3306/eshop"/>
    12. <property name="username" value="root"/>
    13. <property name="password" value="root"/>
    14. dataSource>
    15. environment>
    16. environments>
    17. <mappers>
    18. <mapper resource="mapper/UserMapper.xml">mapper>
    19. mappers>
    20. configuration>

    3、编写MyBatis映射文件UserMapper.xml

    1. "1.0" encoding="UTF-8"?>
    2. mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="userMapper">
    6. <select id="findAll" resultType="com.wn.mybatis.pojo.User">
    7. select * from t_user
    8. select>
    9. mapper>

    4、创建实体类与数据库表

  • 相关阅读:
    SpringBoot集成Redis实现缓存——基于SpringBoot和Vue的后台管理系统项目系列博客(二十)
    Tkinter 转载 (来自C语言中文网)
    【Java集合】List接口常用方法及实现子类
    【Selenium & Other】一键杀死进程 & 进程清理大师
    零基础入门JavaWeb——正则表达式
    10.18作业
    grep和vim查找日志文件信息
    做知识付费,这十大知识付费平台一定要知道
    2023湖南工业大学计算机考研信息汇总
    102.二叉树的层序遍历
  • 原文地址:https://blog.csdn.net/qq_58137891/article/details/132716936
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号