码农知识堂 - 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基于Web的社区医院管理服务系统springboot025
    ASP.NET Core 6框架揭秘实例演示[07]:文件系统
    大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)
    C#小项目之记事本
    【python零基础入门学习】python基础篇之系统模块调用shell命令执行(四)
    YoloV5|V7改进策略:全新特征融合模块AFPN,更换YoloV5|V7的Neck
    充分理清限制与条件+构造二分图+最小割:ARC142E
    MySQL夺命10问,你能坚持到第几问?
    代理IP与Socks5代理:跨界电商智能爬虫与出海之道
    【vSphere 8 自签名 VMCA 证书】企业 CA 签名证书替换 vSphere VMCA CA 证书Ⅰ—— 生成 CSR
  • 原文地址:https://blog.csdn.net/qq_58137891/article/details/132716936
  • 最新文章
  • 大模型(DeepSeek)辅助 3D 实时建模 + 拖拽配置:业务可视化应用快速构建实践(标注、巡检与视角控制等)
    给Claude Code装上40个Skill后,我才发现之前都白用了
    数字化转型的价值迷思:从技术指标到业务结果
    DBA 经验:MySQL性能最重要的参数只有2个!
    嵌入式里面互相嵌套的结构体
    Python 创建 Excel 下拉列表的两种方法
    数字航空摄影:经典计算与参数推演
    BrowserAct,给AI Agent配一个真实浏览器,从安装到实战
    Whim 是什么?一门把 PHP 被否决的设想真跑起来的实验语言
    模型聪明了 10 倍,为什么你的 Agent 每天还在过《土拨鼠之日》?
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号