当前位置: 首页 > news >正文

Mybatis实现流程

一,UserDAO 接口定义

首先,定义 UserDAO接口,包含 getList()方法,定义类型为List<User>:

package dao;import model.User;
import java.util.List;public interface UserDAO {List<User> getList();
}

二,User 映射器 XML 文件定义

创建一个MyBatis映射器XML文件,用于映射SQL查询到 UserDAO接口。常位于与接口相同的包结构中:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
//此处对应接口类
<mapper namespace="dao.UserDAO"><!-- Result map to map the SQL result to User object --><resultMap id="userResultMap" type="model.User"><result property="id" column="id" /><result property="username" column="username" /><result property="email" column="email" /><result property="created_at" column="created_at" /></result>
//标签id="getList"对应接口的方法名字<!-- SQL Query to fetch all users --><select id="getList" resultMap="userResultMap">SELECT * FROM users</select></mapper>

三,配置 MyBatis

通常配置于mybatis-config.xml,确保映射器文件的路径

<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/your_database"/><property name="username" value="root"/><property name="password" value="password"/></dataSource></environment></environments><mappers><mapper resource="dao/UserDAO.xml"/></mappers>
</configuration>

四,使用 DAO

在业务逻辑或控制器层,可以通过MyBatis的 SqlSession获取 UserDAO的实现,并调用 getList() 方法:

try (SqlSession session = sqlSessionFactory.openSession()) {
//实例是将 Java 方法映射到 SQL 查询的接口UserDAO userDAO = session.getMapper(UserDAO.class);
//用于从数据库中获取用户列表List<User> users = userDAO.getList();users.forEach(System.out::println);
}

http://www.lryc.cn/news/387603.html

相关文章:

  • 简单的springboot整合activiti5-serviceImpl部分(1)
  • snat、dnat和firewalld
  • [数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别
  • 前后端防重复提交
  • JVM专题八:JVM如何判断可回收对象
  • binary_cross_entropy_with_logits函数的参数设定
  • Python 面试【★★★★★】
  • C# StringBuilder
  • 4个文章生成器免费版分享,让文章创作更轻松便捷
  • redis-cluster(集群模式搭建)
  • 使用vite官网和vue3官网分别都可以创建vue3项目
  • PDF处理篇:如何调整 PDF 图像的大小
  • STM32 HAL库里 串口中断回调函数是在怎么被调用的?
  • 音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析
  • RT-Thread ENV-Windows v2.0.0安装教程
  • [HBM] HBM TSV (Through Silicon Via) 结构与工艺
  • 基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统
  • 【Qt+opencv】编译、配置opencv
  • RDMA建链的3次握手和断链的4次挥手流程?
  • 实验4 图像空间滤波
  • 独辟蹊径:我是如何用Java自创一套工作流引擎的(下)
  • 【Python】pycharm常用快捷键操作
  • es6语法复习一
  • 【python入门】自定义函数
  • ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验
  • ESP32实现UDP连接——micropython版本
  • Windows Ternimal
  • Unity扩展编辑器功能的特性
  • API类别 - UI核心
  • Redis-主从复制-配置主从关系