当前位置: 首页 > 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;特别是实体保存技术。…...

利用FTDI芯片MPSSE模式构建Arduino兼容开发环境

1. 项目概述&#xff1a;当FTDI芯片遇上Arduino生态如果你手头有一些闲置的FTDI USB转串口模块&#xff0c;比如常见的FT232R、FT2232H&#xff0c;或者像我一样&#xff0c;从某个旧设备上拆下来一块FT2232C的老古董&#xff0c;除了用来给单片机烧录程序或者做串口调试&#…...

League Akari:如何通过LCU API实现英雄联盟游戏流程的智能化管理?

League Akari&#xff1a;如何通过LCU API实现英雄联盟游戏流程的智能化管理&#xff1f; 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit Leag…...

别再把大模型当搜索框了:一文讲透 LLM 的基本原理、能力边界与局限性

写在前面很多人把大语言模型当成“会聊天的搜索引擎”&#xff0c;结果一上线就遇到幻觉、口径不稳、上下文丢失、成本失控。真正理解 LLM&#xff0c;要先抓住一句话&#xff1a;它是基于 Transformer 的概率生成模型&#xff0c;核心能力来自海量预训练、上下文学习与后训练对…...

Python Android打包终极指南:5个实战技巧解决移动开发痛点

Python Android打包终极指南&#xff1a;5个实战技巧解决移动开发痛点 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android Python-for-Android&#xff08;简称p4…...

从Figma设计到Python GUI:Tkinter-Designer如何重塑可视化开发范式

从Figma设计到Python GUI&#xff1a;Tkinter-Designer如何重塑可视化开发范式 【免费下载链接】Tkinter-Designer An easy and fast way to create a Python GUI &#x1f40d; 项目地址: https://gitcode.com/gh_mirrors/tk/Tkinter-Designer 在Python GUI开发领域&am…...

免费岛屿设计工具终极指南:Happy Island Designer 完整教程 [特殊字符]️

免费岛屿设计工具终极指南&#xff1a;Happy Island Designer 完整教程 &#x1f3dd;️ 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)"&#xff0c;是一个在线工具&#xff0c;它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友…...

Spiderbuf_H05时间戳机制深度解析:锚点偏移与服务端校验

1. 这不是“破解”&#xff0c;是时间戳反爬机制的逆向解构你打开浏览器按F12&#xff0c;切到Network面板&#xff0c;刷新页面&#xff0c;盯着XHR请求发呆——那个带一长串数字的timestamp参数&#xff0c;每次刷新都变&#xff0c;但又不是随机乱跳&#xff0c;而是和当前时…...

量子机器学习对称性工程权衡:Twirlator工具解析与实战指南

1. 量子机器学习中的对称性&#xff1a;从理论到工程实践的权衡在量子机器学习&#xff08;QML&#xff09;领域&#xff0c;我们一直在寻找能够提升模型性能、加速训练并增强泛化能力的“银弹”。对称性&#xff0c;这个在经典几何深度学习&#xff08;Geometric Deep Learnin…...

2026微信小程序抓包实战:三层网络架构与可验证分析方法论

1. 为什么2026年还在谈微信小程序抓包&#xff1f;这不是过时的技术吗&#xff1f;很多人看到“抓包”两个字&#xff0c;第一反应是&#xff1a;这不就是十年前干的事&#xff1f;HTTPS都普及这么多年了&#xff0c;TLS 1.3都成标配了&#xff0c;小程序还用WebView混排&#…...

机器学习中类别不平衡问题的实战解决方案:加权分类与SMOTE对比

1. 项目概述与核心挑战在机器学习的世界里&#xff0c;我们常常会遇到一个看似简单却异常棘手的问题&#xff1a;数据不平衡。想象一下&#xff0c;你正在训练一个模型来识别一种罕见的疾病&#xff0c;比如在10万头牛中&#xff0c;只有250头感染了牛病毒性腹泻&#xff08;BV…...