编码自动化:使用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 mapper
         PUBLIC "-//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 blogtbl
         where  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 {
     @Test
     public 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");
             //通过配置信息创建SqlSessionFactory
             SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(input);
             //通过SqlSessionFactory打开数据库会话
             sqlSession = ssf.openSession();
        } catch (Exception e) {
             e.printStackTrace();
        }
 
         return sqlSession;
    }
 }

运行结果如下:

图片

搞定,收功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/151412.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

win11无损关闭系统更新

1、窗口键R&#xff0c;打开运行窗口&#xff0c;输入regedit。 2、打开地址&#xff1a;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 3、新建DWORD&#xff08;32位&#xff09;值(D)&#xff0c;重命名“FlightSettingsMaxPauseDays” 4、…

MacBook投屏到安卓电视的操作步骤,用网页浏览器也能投屏

如果你想将苹果电脑投屏到家里的安卓大电视上&#xff0c;AirDroid Cast给你提供两种方法&#xff0c;其中一种就是大家都熟悉的AirPlay&#xff0c;AirPlay有个限制&#xff0c;需要连接同一个网络才可以投屏&#xff0c;所以AirPlay适应本地投屏。如果你需要远程投屏&#xf…

通信原理板块——利用香农公式对连续信道的信道容量计算

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 利用香农公式对连续信道的信道容量…

JS-项目实战-编辑单价单元格,可以点击单价单元格并且出现文本框,并自动选中输入框内部的文本

1、鼠标悬浮和离开事件.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格…

java 自定义收款二维码,使用图片融合,自定义文字

1, 输出 原图资源 : 下载原图, CSDN 下载, 无需积分 模版 底图 768 x 1299 二维码 527*527 2 代码 import javax.imageio.ImageIO; import java.awt.*; import java.awt.font.FontRenderContext; import java.awt.image.BufferedImage; import java.io.File; import java.…

基于STC12C5A60S2系列1T 8051单片机的SPI总线器件数模芯片TLC5615实现数模转换应用

基于STC12C5A60S2系列1T 8051单片的SPI总线器件数模芯片TLC5615实现数模转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍SPI总线器件数模芯片TLC5615介绍通过按…

第十五届全国大学生数学竞赛初赛试卷解析

参加了此次比赛&#xff0c;收获很多&#xff0c;两个半小时让我体会到了很多&#xff0c;所以想做个总结 第十五届全国大学生数学竞赛初赛试题 &#xff08;非数学A类,2023年&#xff09; 下面是答案解析&#xff0c;有兴趣的小伙伴可以做完对照一下。 直接使用洛必…

ClassLoader

Java /Android 默认ClassLoader是PathClassLoader Android 的 PathClassLoader 和DexClassLoader 都是BaseDexClassLoader的子类 BaseClassLoader是ClassLoader的子类,通过loadClass方法加载,Android将Java的ClassLoader简化了,第二个参数arg2 无效 loadClass 通过 findLoad…

050-第三代软件开发-软件部署脚本(二)

第三代软件开发-软件部署脚本(二) 文章目录 第三代软件开发-软件部署脚本(二)项目介绍软件部署脚本(二) 关键字&#xff1a; Qt、 Qml、 bash、 shell、 脚本 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Languag…

C语言从入门到精通之【基本运算符】

赋值运算符 在C语言中&#xff0c;并不意味着“相等”&#xff0c;而是一个赋值运算符。下面的赋值表达式语句&#xff1a; bmw 2002; 把值2002赋给变量bmw。也就是说&#xff0c;号左侧是一个变量名&#xff0c;右侧是赋给该变量的值。符号被称为赋值运算符。另外&#xff0…

用友GRP-U8 ReturnForWcp RCE漏洞复现

0x01 产品简介 用友GRP-U8内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8内控管理软件/servlet/PayReturnForWcp接口处存在xxe漏洞&#xff0c;攻击者可利用xxe…

Redis配置、Redis类型

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

sklearn笔记:neighbors.NearestNeighbors

1 最近邻 class sklearn.neighbors.NearestNeighbors(*, n_neighbors5, radius1.0, algorithmauto, leaf_size30, metricminkowski, p2, metric_paramsNone, n_jobsNone)邻居搜索算法的选择通过关键字 algorithm 控制&#xff0c;它必须是 [auto, ball_tree, kd_tree, brute] …

图像格式导致halcon读取失败

图像格式&#xff1a; JPEG (jpg)&#xff0c;文件头&#xff1a;FF D8 FF PNG (png)&#xff0c;文件头&#xff1a;89 50 4E 47 GIF (gif)&#xff0c;文件头&#xff1a;47 49 46 38 Windows Bitmap (bmp)&#xff0c;文件头&#xff1a;42 4D 打开软件“notepad”使用16进…

《洛谷深入浅出基础篇》P1551亲戚——集合——并查集P1551亲戚

上链接&#xff1a;P1551 亲戚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1551 上题干&#xff1a; 题目背景 若某个家族人员过于庞大&#xff0c;要判断两个是否是亲戚&#xff0c;确实还很不容易&#xff0c;现在给出某个亲戚关系图…

用Postman发送xml数据

启动Postman&#xff1a; 点击左上角的“New”&#xff0c;在弹出窗中选择HTTP&#xff1a; 选择POST方法&#xff1a; 点击Body&#xff1a; 选择raw&#xff1a; 在右侧的下拉列表中选择XML&#xff1a; 在下面的输入框中输入或者从其它地方拷贝XML文本&#xff1a;…

软件测试之接口测试面试题

1、接口的定义 系统与系统之间、组件与组件之间、数据传递交换的通道 2、接口的类型 按协议&#xff1a;http、tcp、ip 按语言&#xff1a;C、java、php 按范围&#xff1a;系统与系统、内部系统与内部系统、外部系统与外部系统之间 程序划分&#xff1a;多个内部程序、内…

QML20、布局

1.概述 首先,QML同样允许大家使用硬编码的方式将位置数值直接写到代码中,但是这样做首先难以适应UI的调整,其次代码维护起来也很困难。因此不推荐这样做。推荐大家使用的是以下三种布局管理器:Row,、Column、Grid、Flow,以及使用Anchor进行布局。 2.Row QML 中的 Row 元素…

js-webApi笔记1

目录 前言 Web API的概念 什么是DOM DOM树 1、查找元素 2、其他查找元素方法 3、操作元素 4、操作元素属性 5、 操作元素样式 style 6、操作自定义属性 7、 操作表单元素属性 8、事件 9、事件绑定 10、常用鼠标事件 11、定时器 12、定时器案例 前言 Web API的概念…

最长上升子序列模型 笔记

首先附上模板&#xff1a; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long long ll;const int N 100010;int n; int a[N], q[N];int main()…