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

MyBatis——配置文件完成增删改查

 

1.首先先创建一个新的表,使用下面的sql语句

-- 删除tb_brand表
drop table if exists tb_brand;
-- 创建tb_brand表
create table tb_brand
(-- id 主键id           int primary key auto_increment,-- 品牌名称brand_name   varchar(20),-- 企业名称company_name varchar(20),-- 排序字段ordered      int,-- 描述信息description  varchar(100),-- 状态:0:禁用  1:启用status       int
);
-- 添加数据
insert into tb_brand (brand_name, company_name, ordered, description, status)
values ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),('华为', '华为技术有限公司', 100, '华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界', 1),('小米', '小米科技有限公司', 50, 'are you ok', 1);SELECT * FROM tb_brand;


2.创建新的实体类对应数据库的表里面的属性,创建对应的方法


3.在测试目录下新建测试类

 

 4.安装MybatisX插件

 该插件是基于IDEA的快速开发插件,为效率而生
  主要功能:
    XML和接口方法相互跳转
    根据接口方法生成statement(就是Mapper.XML里面的sql语句映射)
    如下图所示,接口和mapper中的语句相互对应,红鸟是跳到映射文件,蓝色的是跳到接口
    还可自动根据接口何时生成对应的sql映射

 

 创建另一个BrandMapper.XML 

同样要放到和对应接口相同的目录下里面 

11查询

        

    11.1查询所有数据
    Mapper接口
    
    映射文件
    
    测试代码
    
    测试成功(有异常报错但是没有关系能跑就行)
    

 增加一个新功能只需要三步,
  编写接口方法-->编写sql映射-->执行方法测试

 在输出里面有个别数据是null,这是因为在数据库里面的属性使用了下划线命名,但是在类里面使用驼峰命名法导致两者对应不上,不能自动封装数据


    解决方案:

        (1)起别名(缺点:每次都要起别名)

        

       (2)使用resultMap进行映射:

        定义<resultMap>标签
       在select标签中要用resultmap属性替换resultType属性
        <resultMap>里面有两种子标签,一个是id负责主键字段映射,一个result负责一般字符段映射其中colum是列的名称,property是实体类的属性名

 上面两个解决方案都可以解决下划线和驼峰命名的问题

 11.2查询单体数据 

未完待续 

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

相关文章:

  • Python内置函数 — all,any
  • Pycharm配置QGIS环境
  • 【C++】stack 与 queue
  • ARC142E Pairing Wizards
  • Spark开发实战-主播打赏排行榜统计
  • python 如何存储数据 (python 的文件和异常)
  • 第三章-OpenCV基础-8-绘图函数
  • 逆约瑟夫问题
  • MySQL之三大日志(更新中)
  • 如何使用EvilTree在文件中搜索正则或关键字匹配的内容
  • 北京移动CM311-5s-ZG_GK6323V100C_2+8_免拆一键卡刷固件包
  • JavaScript(1)
  • 阿里云云原生每月动态 | 聚焦实战,面向开发者的系列课程全新上线
  • Goby 征文大擂台,超值盲盒等你来!
  • NLP - langid 语种识别
  • liquibase学习和使用
  • redhawk:Low Power Analysis
  • 24- 深度学习的模型保存和加载 (TensorFlow系列) (深度学习)
  • 【Echarts图例点击事件】自定义Echarts图例legend点击事件(已解决)
  • uniapp-首页配置
  • 支持DDR5,超频更简单,小雕够给力,技嘉B760M小雕WIFI主板上手
  • fengMap 自定义dom 偏离实际位置;缩放时飘出地图所在区域
  • TryHackMe-黑我杯
  • 【JAVA程序设计】【C00109】基于SSM(非maven)的员工工资管理系统
  • 《计算机原理》——HelloWorld.cpp如何运行的
  • 【面试题】在JS循环中使用await会怎么样?
  • Qt QMessageBox详解
  • Flutter之beamer路由入门指南
  • 「基础篇」机器学习概览
  • 揭秘可视化图探索工具 NebulaGraph Explore 是如何实现图计算的