Mybatis使用步骤

ops/2024/12/15 15:59:52/

MyBatis 框架使用流程详解

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作,使得开发者可以更专注于 SQL 语句本身。以下是使用 MyBatis 框架的详细步骤:

1. 环境准备

在开始使用 MyBatis 之前,需要确保你的开发环境中已经安装了 Java 和数据库(如 MySQL),并且已经添加了 MyBatis 相关依赖到你的项目中。

Maven 依赖

如果你使用的是 Maven,可以在 pom.xml 文件中添加以下依赖:

 

xml

<dependencies><!-- MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><!-- MySQL JDBC 驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></dependency>
</dependencies>

2. 配置 MyBatis

mybatis-config.xml

在项目的 resources 目录下创建 mybatis-config.xml 文件,这是 MyBatis 的全局配置文件。

 

xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<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="your_username"/><property name="password" value="your_password"/></dataSource></environment></environments><mappers><mapper resource="mappers/UserMapper.xml"/></mappers>
</configuration>

3. 创建 Mapper 接口和 XML 文件

Mapper 接口

创建一个接口文件,定义你需要执行的数据库操作方法。

 

java

package com.example.mapper;import com.example.pojo.User;public interface UserMapper {User selectUserById(int id);
}

Mapper XML 文件

创建对应的 XML 文件,实现接口中定义的方法。

 

xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><select id="selectUserById" resultType="com.example.pojo.User">SELECT * FROM users WHERE id = #{id}</select>
</mapper>

4. 编写实体类

创建一个实体类,对应数据库中的表。

 

java

package com.example.pojo;public class User {private int id;private String name;private String email;// getters and setters
}

5. 编写 MyBatis 工具类

创建一个工具类,用于获取 SqlSessionFactory。

 

java

package com.example.utils;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.Reader;public class MyBatisUtil {private static SqlSessionFactory sqlSessionFactory;static {try {String resource = "mybatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (Exception e) {e.printStackTrace();}}public static SqlSession getSqlSession() {return sqlSessionFactory.openSession();}
}

6. 使用 MyBatis 操作数据库

在你的业务逻辑中,使用 MyBatis 进行数据库操作。

 

java

package com.example.service;import com.example.mapper.UserMapper;
import com.example.pojo.User;
import com.example.utils.MyBatisUtil;public class UserService {public User getUserById(int id) {SqlSession session = MyBatisUtil.getSqlSession();UserMapper mapper = session.getMapper(UserMapper.class);User user = mapper.selectUserById(id);session.close();return user;}
}

7. 事务管理

MyBatis 支持声明式事务管理,可以在 Mapper 接口的方法上使用 @Transactional 注解来管理事务。

8. 整合 Spring

对于大型项目,通常会将 MyBatis 与 Spring 框架整合使用,这样可以利用 Spring 的依赖注入和事务管理功能。

以上步骤涵盖了 MyBatis 的基本使用流程,从环境搭建到实际的数据库操作。通过这些步骤,你可以开始使用 MyBatis 来构建你的数据访问层。


http://www.ppmy.cn/ops/142146.html

相关文章

win服务器的架设、windows server 2012 R2 系统的下载与安装使用

文章目录 windows server 2012 R2 系统的下载与安装使用1 windows server 2012 的下载2 打开 VMware 虚拟机软件&#xff08;1&#xff09;新建虚拟机&#xff08;2&#xff09;设置虚拟机&#xff08;3&#xff09;打开虚拟机 windows server 2012&#xff08;4&#xff09;进…

React 入门(超详细)

目录 前言&#xff1a;一、React 简介 1. 什么是 React2. React 的特点3. React 高效的原因4. React 官网5. React的主要原理6. Facebook为什么要建造React? 二、React 的基本使用 1. 基础代码2. 效果3. 相关 js 库4. 创建虚拟DOM的两种方式5. 虚拟DOM与真实DOM6. 虚拟DOM与真…

YOLOV8的性能和使用

【欢迎关注编码小哥&#xff0c;学习更多实用的编程方法和技巧】 YOLOv8 是YOLO 系列实时物体检测器的新的迭代产品&#xff0c;在精度和速度方面都具有尖端性能。在之前YOLO 版本的基础上&#xff0c;YOLOv8 引入了新的功能和优化&#xff0c;使其成为广泛应用中各种物体检测任…

前端成长之路:CSS复合选择器

复合选择器 在CSS中&#xff0c;可以根据选择器的类型将选择器分为基础选择器和复合选择器。 基础选择器就是前面提到过的类选择器、id选择器、标签选择器等&#xff1b;而复合选择器就是在基础选择器的基础之上&#xff0c;将基本选择器进行组合形成的。 复合选择器是由两个及…

人工智能原理实验四:智能算法与机器学习

一、实验目的 本实验课程是计算机、智能、物联网等专业学生的一门专业课程&#xff0c;通过实验&#xff0c;帮助学生更好地掌握人工智能相关概念、技术、原理、应用等&#xff1b;通过实验提高学生编写实验报告、总结实验结果的能力&#xff1b;使学生对智能程序、智能算法等…

【Qt】QWidget中的常见属性及其功能(一)

目录 一、 enabled 例子&#xff1a; 二、geometry 例子&#xff1a; window fram 例子 &#xff1a; 四、windowTiltle 五、windowIcon 例子&#xff1a; qrc机制 创建qrc文件 例子&#xff1a; qt中的很多内置类都是继承自QWidget的&#xff0c;因此熟悉QWidget的…

HarmonyOS-高级(五)

文章目录 HiTraceMeterHiTraceChain错误管理故障分析 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;HarmonyOS专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月11日12点12分 HiTraceMeter HiTraceMeter提供系统性能打点接口。开发者…

分类算法评估标准综述

目录 ​编辑 混淆矩阵&#xff08;Confusion Matrix&#xff09; 准确率&#xff08;Accuracy&#xff09; 精确率&#xff08;Precision&#xff09; 召回率&#xff08;Recall&#xff09; F1分数&#xff08;F1 Score&#xff09; ROC曲线和AUC值 P-R曲线 马修斯相…