MyBatis学习笔记:映射器简述和配置

2023-12-28 20:18

本文主要是介绍MyBatis学习笔记:映射器简述和配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这片文章是对自己学习的总结,学习材料是Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC + Spring + Mybatis)和Redis实现。作者是杨开振,周吉文,梁华辉和谭茂华。电子工业出版社出版。

 


映射器简述

传统web开发是先定一个持久层的接口,比如

public interface UserDao{...}

然后用一个类去实现它

public class UserDaoImpl implements UserDao{//这里面写数据库层面的操作
}

Mybaits里就是用映射器去替代UserDaoImpl,也就是说,映射器里定义的是数据库层面的操作。优势就是不用太多在意数据库资源的管理,可以更好地专注于业务本身。

关于映射器和其它模块的关系可以MyBatis学习笔记:基本框架简述。

 


映射器的文件位置

我们先定一个持久层的接口,注意这个接口在哪个包。

package com.itheima.Dao;
public interface UserDao {public List<User> findAll();
}

在idea中,映射器都是放在resources之下的,我们想要写一个关于这个接口里的findAll()方法的映射器,那这个映射器的位置必须和UserDao的“相对”一致。在这个例子中,映射器UserDao.xml的位置就应该是resources.com.itheima.dao.UserDao.xml。如下图所示。

 


映射器配置信息

在写具体业务之前,要先在xml之中添加一些依赖表明这是一个映射器。

<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">

代码是固定的,只是版本更新的话会有些许不同。

之后是<mapper>标签,<mapper>标签内有一个属性叫namespace,这个是用来定位对应的接口。

<mapper namespace="com.itheima.dao.UserDao">...
</mapper>

这表明该映射器是专门为com.itheima.dao下的UserDao接口中的各方法配置sql语句的。

而<mapper>之下就是定义sql逻辑。

定义sql逻辑要知道是是什么类型的sql语句。这基本可以确定为这四大类。select,insert,update,delete。这四类语句就对应着<select>,<insert>,<update>,<delete>标签。下面是一个简单的例子。

<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.dao.UserDao"><select id="findAll" resultType="com.itheima.domain.User">select * from users</select>
</mapper>

这段段代码表示com.itheima.dao.UserDao接口中的findAll方法的sql语句是select * from users。返回值是User,有多个的话就是List<User>。

现在已经了解到怎么给指定dao层接口的方法配置sql语句了,下面的文章详细讲解了如何在映射器中定义sql语句。

 

 

 

 

 

 

 

 

 

 

这篇关于MyBatis学习笔记:映射器简述和配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/547174

相关文章

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

mybatis中resultMap的association及collectio的使用详解

《mybatis中resultMap的association及collectio的使用详解》MyBatis的resultMap定义数据库结果到Java对象的映射规则,包含id、type等属性,子元素需... 目录1.reusltmap的说明2.association的使用3.collection的使用4.总

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor