欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > MyBatis (一)持久层框架-基础入门

MyBatis (一)持久层框架-基础入门

2025/3/18 16:42:13 来源:https://blog.csdn.net/2302_79847831/article/details/146305994  浏览:    关键词:MyBatis (一)持久层框架-基础入门

目录

基础实现步骤

1 创建一个bean类

2 mapper(Dao层接口)类:

3 相关配置(在配置方法中实现)

4 测试方法:


MyBatis 是一款优秀的 持久层框架,用于简化 Java 应用与关系型数据库的交互。它通过灵活的 SQL 映射配置,将 Java 对象与数据库记录进行关联,同时保留了开发者对 SQL 的直接控制权。

MyBatis 凭借其 灵活性 和 对 SQL 的直接控制,成为许多开发者处理复杂数据库操作的首选。如果你希望避免传统 JDBC 的繁琐,同时保留 SQL 的透明度,MyBatis 是一个高效且实用的解决方案。

基础实现步骤

  1. 导入 MyBatis 依赖

  2. 配置数据源信息

  3. 编写一个 JavaBean 对应数据库一个表模型

  4. Mapper 接口与实现

    • 以前:Dao 接口 → Dao 实现 → 标注 @Repository 注解

    • 现在:Mapper 接口 → Mapper.xml 实现 → 标注 @Mapper 注解

    • (安装 MyBatisX 插件,自动为 Mapper 类生成 Mapper 文件)

    • 在 Mapper 文件中配置方法的实现 SQL

  5. 告诉 MyBatis 去哪里找 Mapper 文件

  6. 编写单元测试

项目模块初始化

1 创建一个bean类

package org.example.mybatis01.bean;import lombok.Data;@Data
public class Emp {private Integer id;private String name;private Integer age;private String gender;//生成构造方法除去id的构造方法public Emp(String name, Integer age, String gender) {this.name = name;this.age = age;this.gender = gender;}}

2 mapper(Dao层接口)类:

package org.example.mybatis01.mapper;import org.apache.ibatis.annotations.Mapper;
import org.example.mybatis01.bean.Emp;@Mapper//告诉Mybatis这是一个mapper接口
public interface EmpMapper {Emp getEmpById(Integer id);}

3 相关配置(在配置方法中实现)

利用插件完善

在类名旁边按alt+回车,使用,mybatis创建一个xml文件,在资源目录下创建一个mapper文件夹

<?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="org.example.mybatis01.mapper.EmpMapper">
<!-- select标签代表一次查询   --><select id="getEmpById" parameterType="int" resultType="org.example.mybatis01.bean.Emp">select * from first_tb where id = #{id}</select></mapper>

在properties中补充路径:(告诉mybatis去哪找Mapper文件)

#指定xml文件的位置(mybatis)
mybatis.mapper-locations=classpath:mapper/**.xml

4 测试方法:

直接注入接口 EmpMapper 而无需手动编写实现类,是因为 MyBatis 在底层通过动态代理自动生成了接口的实现类

MyBatis 通过动态代理生成接口的代理类(如 $Proxy 或 EnhancerByMyBatis

package org.example.mybatis01;import org.example.mybatis01.dao.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class Mybatis01ApplicationTests {@AutowiredEmpMapper empMapper;@Testvoid contextLoads() {System.out.println(empMapper.getEmpById(1));}}

运行结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词