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

编码自动化:使用MybatisX初体验,太爽了!

图片

使用Mybatis当前最火的插件:MybatisX。

在IDEA中安装MyBatisX插件。

图片

该插件主要功能如下:

  • 生成mapper xml文件

  • 快速从代码跳转到mapper及从mapper返回代码

  • mybatis自动补全及语法错误提示

  • 集成mybatis Generate GUI界面

  • 根据数据库注解,生成swagger model注解

一、使用步骤

1.1 IDEA连接数据库

图片

1.2 选择数据表

选一或多张表,右键选择MybatisX-Generator

图片

1.3 配置生成方式

GUI第一页,用于设置实体类的创建配置,需要设置信息如图。

图片

GUI第二页,用于设置映射文件,需要设置的信息如图。

图片

生成的文件结构如下:

图片

二、编写代码测试

2.1 编写功能代码

BlogMapper.java接口文件:

 public interface BlogMapper {// 根据博文id查询博文信息Blog getBlogByAid(Integer aid);}

BlogMapper.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.pxy.dao.BlogMapper"><sql id="Base_Column_List">bid,title,content,aid,createtime,type</sql><!-- 根据主键查询博文 --><select id="getBlogByAid" parameterType="java.lang.Integer" resultType="com.pxy.po.Blog">select<include refid="Base_Column_List" />from blogtblwhere  bid = #{bid}</select></mapper>

2.2 添加映射文件引用

在配置文件中引用BlogMapper.xml:

 <mappers><mapper resource="com/pxy/dao/AuthorMapper.xml"></mapper><mapper resource="com/pxy/dao/BlogMapper.xml"></mapper></mappers>
2.3 编写测试类

在test包中创建BlogTest类

 public class BlogTest {@Testpublic void testGetAuthor() {SqlSession sqlSession = Utils.getSqlSession();BlogMapper blogMapper = sqlSession.getMapper(BlogMapper.class);Blog blog = blogMapper.getBlogByAid(1);System.out.println(blog);sqlSession.close();}}

创建SQLSession对象的方法封装在Utils类中:

 public class Utils {public static SqlSession getSqlSession(){SqlSession sqlSession = null;try{//读取配置文件,获得配置文件信息InputStream input = Resources.getResourceAsStream("SqlMapConfig.xml");//通过配置信息创建SqlSessionFactorySqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(input);//通过SqlSessionFactory打开数据库会话sqlSession = ssf.openSession();} catch (Exception e) {e.printStackTrace();}return sqlSession;}}

运行结果如下:

图片

搞定,收功!

相关文章:

编码自动化:使用MybatisX初体验,太爽了!

使用Mybatis当前最火的插件&#xff1a;MybatisX。 在IDEA中安装MyBatisX插件。 该插件主要功能如下&#xff1a; 生成mapper xml文件 快速从代码跳转到mapper及从mapper返回代码 mybatis自动补全及语法错误提示 集成mybatis Generate GUI界面 根据数据库注解&#xff0c;…...

大数据-之LibrA数据库系统告警处理(ALM-12047 网络读包错误率超过阈值)

告警解释 系统每30秒周期性检测网络读包错误率&#xff0c;并把实际错误率和阈值&#xff08;系统默认阈值0.5%&#xff09;进行比较&#xff0c;当检测到网络读包错误率连续多次&#xff08;默认值为5&#xff09;超过阈值时产生该告警。 用户可通过“系统设置 > 阈值配置…...

JSP 报错 Cannot resolve method ‘print(java.lang.String)‘问题解决

这里 我写了一段比较基础的代码 <%// 定义局部变量String message "Hello, JSP!";out.print(message); %>但是 项目跑起来又是可以的 其实就是缺少了 JAR包 依赖 我们 可以在项目环境中找到 pom.xml dependencies标签内 加入 如下代码 <dependency>…...

Linux系统下安装RabbitMQ超简单教程(非详细)(Centos8)

文章目录 一、下载所需安装包二、安装三、启动rabbitmq四、添加远程用户五、图形化访问六、修改rabbitmq的启动端口和管理端口&#xff08;没有这个需求就不用看了&#xff09;七、需要注意版本问题可能遇到的错误和解决方式version GLIBC_2.34 类型错误undefined function rab…...

2024江苏专转本流程与时间节点

2024江苏专转本考生&#xff0c;提前看一下转本的流程与时间节点&#xff01;适用于江苏三年制、五年一贯制专转本考试&#xff1a; 1. 专转本工作通知&#xff08;2023年12月上旬&#xff09; 若无特殊情况&#xff0c;到12月中旬&#xff0c;江苏省教育厅会发布关于做好2024…...

全国各区县日照时长数据,逐月数据均有!

今天给大家分享的是全国各区县日照时长月数据&#xff0c;包括不同月份不同地区的日照时长。这些数据可以帮助我们了解不同地区在不同月份的日照情况&#xff0c;为能源利用、农业生产和气候变化研究提供参考。 基本信息 数据名称: 全国各区县日照时长月数据 数据格式: shpex…...

candence出现no connect property onpin,,,,错误,该怎么办?

原因是上面有引脚添加了 属性no connect&#xff0c;但依然连接了网络&#xff0c;这个时候需要把线剪切&#xff0c;然后看到引脚上有个X, 解决方法&#xff1a; 工具栏&#xff02;place >no connect "X 再连上线&#xff0c;再生成网标的时候&#xff0c; 就不报错了…...

Elasticsearch:Lucene 中引入标量量化

作者&#xff1a;BENJAMIN TRENT 我们如何将标量量化引入 Lucene。 Lucene 中的自动字节量化 虽然 HNSW 是一种强大而灵活的存储和搜索向量的方法&#xff0c;但它确实需要大量内存才能快速运行。 例如&#xff0c;查询 768 维的 1MM float32 向量大约需要 1,000,000*4*(7681…...

如何做好测试用例设计

做好测试用例设计是确保软件质量的重要环节之一。以下是一些建议&#xff0c;可以帮助您设计出高效、全面和可靠的测试用例&#xff1a; 明确测试目标和需求 在开始设计测试用例之前&#xff0c;要明确测试的目标和需求&#xff0c;包括测试的范围、重点、预期结果等。这有助于…...

云计算是否正在“杀死”运维

一、云计算正在杀死运维吗&#xff1f; 随着云计算的发展&#xff0c;企业上云已经成为一种趋势。企业上云的初衷是把复杂的IT基础设施交给云平台去管理&#xff0c;企业可以专注于业务与应用、从而降低企业IT运营成本&#xff0c;提高IT部门工作效率。 因此有人会误以为&…...

2760. 最长奇偶子数组 : 抽丝剥茧,图解双指针做法正确性

题目描述 这是 LeetCode 上的 「2698. 求一个整数的惩罚数」 &#xff0c;难度为 「简单」。 Tag : 「双指针」、「滑动窗口」 给你一个下标从 开始的整数数组 nums 和一个整数 threshold。 请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 ( ) 且满足以下条件的 最长子…...

在Linux系统中创建虚拟串口

在Linux系统中创建虚拟串口 文章目录 在Linux系统中创建虚拟串口1、虚拟串口介绍2、使用 socat创建虚拟串行端口2.1 安装socat2.2 创建简单的虚拟串口2.3 创建指定波特率的串行端口 有多种方法可以在 Linux 中创建虚拟串口来测试和调试串行通信协议。 在本文中&#xff0c;我们…...

无线WiFi安全渗透与攻防(五) Kali使用mdk3攻击wifi(详细教程)以及相关周边知识

Kali使用mdk3攻击wifi(详细教程) 一. 网络安全--Kali使用mdk3攻击wifi(详细教程)一.前言二.准备1.网卡2.虚拟机3.系统三.原理1.原理2.步骤四.实战1.网卡设置1.1查看网卡1.2.切换网卡模式1.3再次查看网卡2.AP扫描3.mdk3创建虚拟wifi1.创建一个虚拟wifi2.创建大量wifi4.扫描…...

Mac电脑好用的窗口管理软件 Magnet 中文for mac

Magnet是一款用于Mac操作系统的窗口管理工具&#xff0c;它可以帮助您快速和方便地组织和管理应用程序窗口&#xff0c;以提高您的工作效率和多任务处理能力。 以下是Magnet的一些主要功能和特点&#xff1a; 窗口自动调整&#xff1a;Magnet允许您通过简单的拖放操作或使用快…...

除了Excel中可以添加公式之外,在Word中也可以添加公式,不过都是基于表格

公式是必不可少的,因为它们有助于简化任何数学任务。微软的应用程序中有许多数学公式。微软应用程序之一的Word配备了一个公式功能,可以执行各种操作。本文将讨论如何在Word中使用和添加公式。 在Word中,公式主要用于表格。因此,你需要有一个表格才能在Word中使用公式。 …...

【华为OD题库-017】矩阵稀疏扫描-Java

题目 如果矩阵中的许多系数都为零&#xff0c;那么该矩阵就是稀疏的。对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省&#xff0c;并且在许多大的实践中都会出现矩阵稀疏的问题。给定一个矩阵&#xff0c; 现在需要逐行和逐列地扫描矩阵&#xff0c;如果某一行或者某一…...

相机通用类之LMI激光三角相机(3D),软触发硬触发(飞拍),并输出halcon格式对象

//在此之前可以先浏览我编写的通用上位机类&#xff0c;更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于LMI激光三角&#xff08;3D相机&#xff09;采图的demo&#xff0c;记录并说明用法。 先上代码。 using Lmi3d.GoSdk; using L…...

android studio基本使用

as如果一直index&#xff0c;就把缓存目录全部删除 记录下as日常使用。 调试工具 c动态库调试 ndk会带一些调试工具&#xff0c;例如 C:\Users\luopu\AppData\Local\Android\Sdk\ndk\20.0.5594570\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch…...

安装包管理工具-Yarn

一、介绍与安装 1.1 介绍 Yarn是一款功能包管理工具&#xff0c;与npm(npm:Node.js 的包管理器 npm,是目前最流行的Node.js 的包管理器。)类似。有着FAST(快速的), RELIABLE( RELIABLE 可信赖的), AND SECURE DEPENDENCY MANAGEMENT(安全依赖关系管理)的特点。 Yarn官网 1.2…...

SOLIDWORKS功能布局实用技巧之保存实体技术

在SOLIDWORKS软件中&#xff0c;有一些命令可以将一个或多个实体保存为独立的零件文件。然而&#xff0c;每个命令都具有不同的特性&#xff0c;有些命令的选项可以让您在保存多个零件时直接生成装配体文件。让我们来深入了解这些功能布局技巧&#xff0c;特别是实体保存技术。…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...