首页 > 其他分享 >MyBatis学习笔记

MyBatis学习笔记

时间:2023-01-08 23:25:14浏览次数:108  
标签:语句 car brand carType 笔记 学习 sql MyBatis id

分页插件

目标

  • 实现动态地按页查找记录

原理

  • 对应sql语句中limit关键字的用法
  • limit(startIndex, pageSize),其中startIndex表示起始坐标,pageSize表示查询的记录条数 

PageHelper插件

使用

  • 引入依赖
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>版本号</version>
</dependency>
  • 在mybatis-config.xml中配置分页的拦截器
<plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
  •  开启分页功能
PageHelper.startPage(pageNum, pageSize);
  • 封装分页信息
PageInfo<Car> car = new PageInfo<Car>(cars, Integer navigatePages);
  •  可以通过get方法获取分页信息

注解式开发

原则

  • 复杂的sql语句使用xml开发,简单的sql语句使用注解式方法

优点

  • 使用注解式开发,sql语句是写在java程序中,可以减少sql映射文件的配置

缺点

  • 但是,也会给sql语句的维护带来成本

使用(以t_car为例)

在接口文件中,对相应的方法添加相应的注解,其中value填入对应sql语句

@Insert("insert into t_car(id, car_num, brand, guide_price, produce_time, car_type) values(#{id},#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType})")
int insert(Car car);
@Delete("delete from t_car where id = #{id}")
int delete(@Param("id")Long id);
@Update("update t_car set car_num = #{carNum}, brand = #{brand}, guide_price = #{guidePrice} where id = #{id}")
int update(Car car);
@Select("select * from t_car where car_type = #{carType}")
Car select(@Param("carType")String carType);

 

标签:语句,car,brand,carType,笔记,学习,sql,MyBatis,id
From: https://www.cnblogs.com/potato-101/p/17035430.html

相关文章

  • [2185] LeetCode 刷题笔记: 统计包含给定前缀的字符串 [s]
    [2185]LeetCode刷题笔记:统计包含给定前缀的字符串[s]目录[2185]LeetCode刷题笔记:统计包含给定前缀的字符串[s]题目描述题解参考简单模拟复杂度分析参考题解C/C++......
  • Jmeter学习:录制http/https 脚本
    1.新建一个HTTPRequestDefaults设置好协议、IP、端口号2.jmeter当中建立http代理服务器3.启动代理服务器4.(仅录制https时)浏览器安装证书,证书路径在$JMETER_H......
  • [1] LeetCode 刷题笔记: 两数之和 [S]
    [1]LeetCode刷题笔记:两数之和[S]目录[1]LeetCode刷题笔记:两数之和[S]题目描述题解参考暴力枚举复杂度分析使用哈希表复杂度分析参考题解C/C++的相关参考Rust......
  • 群论学习笔记
    写在前面之前写过一个辣鸡,以为会板子就好了,结果在ABC284H中寄了。所以决定重写个完整的。参考文章概念性的东西群论研究的是对称性,为了方便描述,我们举个例子。比如对......
  • MybatisPlus 实现多表联合分页条件查询
    方式一:XML有点繁琐,不太想用mapper接口publicinterfaceRoomMapperextendsBaseMapper<Room>{List<RoomVO>getRoomPageList(Pagepage,@Param("roomPageReq......
  • Go语言学习Day3
    1.go的函数定义格式为函数名,参数列表,返回值列表和函数体。如果函数没有返回值,则返回列表可以省略。函数从第一条语句开始执行,直到执行return语句或者执行函数的最后一条语......
  • Kafka学习笔记(十二):Java Consumer
    JavaConsumerStringboostrapServers="127.0.0.1:9092";StringgroupId="my-second-application";Stringtopic="demo_java";//createconsumerconfigsProp......
  • 网络抓包学习
    1、什么是网络抓包数据包分析(流量分析)是什么数据包分析,通常也被称为数据包嗅探或者协议分析或者流量分析、指的是捕获和解析网络上的在线传输数据的过程数据包分析过......
  • C语言学习--动态内存分配(未完待续)
    内存分配的类型:在C/C++中内存分为5个区,分别为栈区、堆区、全局/静态存储区、常量存储区、代码区。静态内存分配:编译时分配。包括:全局、静态全局、静态局部三种变量。......
  • C语言学习--结构体指针
    #include<stdio.h>#include<string.h>//结构体指针:指针的类型为结构体typedefstructnodeData{inta;charb[3];}node;intmain(){//结构......