MyBatis篇】四. MyBatis高级第三章 注解开发(共三章)

2024-03-28 18:32

本文主要是介绍MyBatis篇】四. MyBatis高级第三章 注解开发(共三章),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MyBatis高级第三章 注解开发

github源码(day56-mybatis-senior) https://github.com/1196557363/ideaMavenProject
【MyBatis篇】四. MyBatis高级第一章 #{}和${}符号的区别
【MyBatis篇】四. MyBatis高级第二章 缓存

项目准备
  1. 因为在同一个module中所以大环境不用改,参考第一章的项目准备
  2. 将接口com.wpj.dao.IUserDao2 改为 com.wpj.dao3.IUserDao2 已示区分知识点
  3. 注解开发可以不用mapper映射文件
  4. MyBatis的mapper映射记得加。

1. Select

1.1 MyBatis.xml
<mappers><mapper resource="mapper/IUserDao2.xml"/><mapper resource="mapper2/IUserDao2.xml"/><!--如果是注解开发这里要写接口--><mapper class="com.wpj.dao3.IUserDao2" />
</mappers>
1.2 IUserDao2接口
package com.wpj.dao3;import com.wpj.bean.*;
import org.apache.ibatis.annotations.*;/*** ClassName: IUserDao2* Description:** @author JieKaMi* @version 1.0* @date: 2020\1\7 0007 19:02* @since JDK 1.8*/
public interface IUserDao2 {@Select(value="select * from user where id = #{id}")User getUserById(Integer id);
}
1.3 test
import com.wpj.bean.*;import com.wpj.dao3.*;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import org.junit.*;import java.io.*;/*** ClassName: MyBatisTest* Description:** @author JieKaMi* @version 1.0* @date: 2020\1\7 0007 19:19* @since JDK 1.8*/
public class MyBatisTest3 {@Testpublic void testGetUserById(){String config = "MyBatis.xml";InputStream is = null;try {is = Resources.getResourceAsStream(config);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);SqlSession sqlSession = sqlSessionFactory.openSession();IUserDao2 userDao = sqlSession.getMapper(IUserDao2.class);User user = userDao.getUserById(1);System.out.println(user);sqlSession.close();} catch (IOException e) {e.printStackTrace();} finally {if(is!=null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}}
}

2 Results

@Results(value={@Result(id =true, property="id", column="id"),@Result(property="name", column="name"),@Result(property="pwd", column="pwd"),@Result(property="age", column="age")})
@Select(value="select * from user where id = #{id}")
User getUserById(Integer id);

3 ResultMap复用

@Results(id="userResults",value={@Result(id =true, property="id", column="id"),@Result(property="name", column="name"),@Result(property="pwd", column="pwd"),@Result(property="age", column="age")})
@Select(value="select * from user where id = #{id}")
User getUserById(Integer id);@ResultMap("userResults")
User getUserById2(Integer id);

这篇关于MyBatis篇】四. MyBatis高级第三章 注解开发(共三章)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Java中的@SneakyThrows注解用法详解

《Java中的@SneakyThrows注解用法详解》:本文主要介绍Java中的@SneakyThrows注解用法的相关资料,Lombok的@SneakyThrows注解简化了Java方法中的异常... 目录前言一、@SneakyThrows 简介1.1 什么是 Lombok?二、@SneakyThrows