当前位置: 首页 > 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;}}

运行结果如下:

图片

搞定,收功!

http://www.lryc.cn/news/231830.html

相关文章:

  • 大数据-之LibrA数据库系统告警处理(ALM-12047 网络读包错误率超过阈值)
  • JSP 报错 Cannot resolve method ‘print(java.lang.String)‘问题解决
  • Linux系统下安装RabbitMQ超简单教程(非详细)(Centos8)
  • 2024江苏专转本流程与时间节点
  • 全国各区县日照时长数据,逐月数据均有!
  • candence出现no connect property onpin,,,,错误,该怎么办?
  • Elasticsearch:Lucene 中引入标量量化
  • 如何做好测试用例设计
  • 云计算是否正在“杀死”运维
  • 2760. 最长奇偶子数组 : 抽丝剥茧,图解双指针做法正确性
  • 在Linux系统中创建虚拟串口
  • 无线WiFi安全渗透与攻防(五) Kali使用mdk3攻击wifi(详细教程)以及相关周边知识
  • Mac电脑好用的窗口管理软件 Magnet 中文for mac
  • 除了Excel中可以添加公式之外,在Word中也可以添加公式,不过都是基于表格
  • 【华为OD题库-017】矩阵稀疏扫描-Java
  • 相机通用类之LMI激光三角相机(3D),软触发硬触发(飞拍),并输出halcon格式对象
  • android studio基本使用
  • 安装包管理工具-Yarn
  • SOLIDWORKS功能布局实用技巧之保存实体技术
  • Android11 将logcat日志定位到uart串口输出
  • SpringSecurity6从入门到上天系列第六篇:解决这个问题为什么在引入SpringSecurity之后所有的请求都需要先做登录认证才可以进行访问呢
  • Mac M3 芯片安装 Nginx
  • 浏览器怎么更新?4个高效设置方法!
  • settings.json配置
  • Mysql中的JDBC编程
  • 媒体行业的3D建模:在影视中创造特效纹理
  • Kafka从安装使用到集成Springboot详细教程
  • 【giszz笔记】产品设计标准流程【4】
  • 图论16-拓扑排序
  • SecureCRT 9.4.2最新终端SSH工具