续Mybatis-plus入门

package com.jt.test;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.jt.mapper.UserMapper;
import com.jt.pojo.User;
import org.junit.jupiter.api.Test;
import org.mockito.internal.matchers.Or;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.StringUtils;import java.util.List;
import java.util.Map;@SpringBootTest
public class TestMP {@Autowiredprivate UserMapper userMapper;//    id=23@Testpublic void select01() {User user = userMapper.selectById(23);System.out.println(user);}/*** 查询 name="潘凤"  sex="男"* 结果: 1项 userMapper.selectOne()* 多项 userMapper.selectList()* Sql: where name="xxx" and sex="xxx"* queryWrapper: 条件构造器  拼接where条件* 如果遇到多条件查询,则默认的连接符and* 方式1: 可以通过对象的方式进行控制*/@Testpublic void select02() {User user = new User();user.setName("潘凤").setSex("男");QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);//根据对象中不为null的属性 拼接where条件List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}/*** 要求: age>18岁  or sex=男的用户* 转义字符:   > gt,   < lt , = eq* >= ge , <= le*/@Testpublic void select03() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();//编辑的是数据库字段信息queryWrapper.gt("age", 18).or().eq("sex", "男");//根据对象中不为null的属性 拼接where条件List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}/*** 要求: 查询name中包含"精" 并且按照age 降序排列* Sql: like "%精%"  包含精* like "精%"   以精开头likeRight* like "%精"   以精结尾likeLeft*/@Testpublic void select04() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.like("name", "精").orderByDesc("age");List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}/*** 查询多个数据* 查询ID= 1 3 6 7的数据* where id in (xx,xx,xx,xx)* 如果遇到多值传参,一般采用对象的方式封装数据*/@Testpublic void select5() {
//        int[] ids={1,3,6,7};//多值传参,一般采用对象(封装p)形式Integer[] ids = {1, 3, 6, 7};QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.in("id", ids);List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}//     * 需求: 查询name为null的数据@Testpublic void select6() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.isNull("name");List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}/*** 动态sql查询:* 要求: 根据 age 属性与sex属性进行查询.* 如果其中数据为null 则不参与where条件的拼接* where age>18 and  sex="男"* 错误Sql:* SELECT id,name,age,sex FROM demo_user WHERE (age > ? AND sex = ?)* 18(Integer), null* MP实现动态查询:* 参数1: condition  boolean类型数据 true 拼接条件* false 不拼接条件* 参数2: 字段名称* 参数3: 字段值*/@Testpublic void select7() {Integer age = 18;String sex = "男";
//        boolean flag=sex!=null&&sex.length()>0;boolean flag = StringUtils.hasLength(sex);QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.gt(age > 0, "age", age).eq(flag,"sex", sex);List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}/*** demo1:只查询 name,age字段信息* 挑选查询的字段信息* queryWrapper.select("name","age");*/@Testpublic void select08(){QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.select("name","age");//没有查询的数据以null返回List<User> userList = userMapper.selectList(queryWrapper);System.out.println(userList);}//* demo2: 只要求返回name,age字段@Testpublic void select09() {QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.select("name", "age");List<Map<String, Object>> list = userMapper.selectMaps(queryWrapper);System.out.println(list);}@Testpublic void select10() {List<Object> list = userMapper.selectObjs(null);System.out.println(list);}
@Test
public void insert(){User user = new User();user.setName("星期五").setAge(18).setSex("男");userMapper.insertUser(user);System.out.println("新增用户成功");
}
//根据name="星期五",将name="星期六"
@Test
public void update(){String oldName="星期五";String newName="星期六";userMapper.updateUser(oldName,newName);System.out.println("更新用户成功");
}//删除用户信息 根据name属性删除数据
@Test
public void deleteByName(){String name = "星期六";userMapper.deleteByName(name);System.out.println("删除用户成功");
}@Test
public void testInsert(){User user=new User();user.setName("嫦娥").setAge(20).setSex("女");userMapper.insert(user);
}/*** 将ID=229的用户名称 改为六一儿童节*/@Testpublic void updateUser(){User user =  new User();user.setId(229).setName("六一儿童节");//set name="xxx" where id = 229userMapper.updateById(user);}/*** 更新操作2*      将name="六一儿童节" 改为"端午节"*  参数说明:*         1.实体对象  封装修改后的数据 set结构*         2.UpdateWrapper 修改的条件构造器*  Sql: update demo_user set name="端午节" where name="61"*/@Testpublic void updateUser2(){User user = new User();user.setName("端午节");UpdateWrapper updateWrapper = new UpdateWrapper();updateWrapper.eq("name", "六一儿童节");userMapper.update(user,updateWrapper);}}

Mybatis-plus的查,增,删相关推荐

  1. ylb:创建数据库、表,对表的增查改删语句

    ylbtech-SQL Server:SQL Server-创建数据库.表,对表的增查改删语句 SQL Server 创建数据库.表,对表的增查改删语句. 1,ylb:创建数据库.表,对表的增查改删语 ...

  2. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  3. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  4. Flask-SQLAlchemy 对数据库的增查改删

    Flask-SQLAlchemy 对数据库的增查改删 使用 Flask-SQLAlchemy 连接数据库,可以通过 Python 对象来操作数据库. Flask-SQLAlchemy 连接数据库参考: ...

  5. servlet mysql insert_servlet+mybatis 实现mysql的增删改查实例

    古人云:温故而知新.趁周末,重新来学习了一遍servlet + mybatis 实现mysql的增删改查,算是对自己学习的一个总结和记录. 开门见山,首先我们来看一下项目目录结构: 不难发现这是一个m ...

  6. ❤️使用Mybatis对数据库进行增删改查!!!

    ❤️使用Mybatis对数据库进行增删改查!!! ❤️namespace的用法 namespace中的包名要和接口一致: ❤️select用法 id:就是对应的namespace的方法名 result ...

  7. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  8. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  9. Java中的sqlsession_java相关:MyBatis中SqlSession实现增删改查案例

    java相关:MyBatis中SqlSession实现增删改查案例 发布于 2020-6-13| 复制链接 摘记: 前言     开博客这是第一次写系列文章,从内心上讲是有点担心自己写不好,写不全,毕 ...

  10. 用Spring+Mybatis写一个数据库增删改查

    用Spring+Mybatis写一个数据库增删改查 总体结构 ClassBiz.java package com.gxj.biz;import java.util.List;import com.gx ...

最新文章

  1. NLP/CV模型跨界,视觉Transformer赶超CNN?
  2. linux进程同步/通信,线程同步/通信的区别
  3. 情人节,找个程序员当男朋友,一般都不会太差
  4. Android wifi驱动的移植 realtek 8188
  5. 打印异常堆栈_关于日志打印行号的性能案例
  6. 黑鲨游戏手机二代再曝新特性 “操控之王”带来全新体验
  7. 北京的一場演出-私人行程
  8. android 开机自动运行脚本,安卓设置脚本开机自启动
  9. log4j 日志输出级别
  10. ftp免费下载工具,4个好用的ftp免费下载工具
  11. HADOOP的搭建和配置(一)基础环境配置
  12. react router 路由守卫_react实现路由守卫
  13. Ethernet guarder V1.1.exe 下载
  14. python招聘-的python招聘
  15. Linux 服务器上安装 Virtuoso 数据库 并导入数据(超详细)
  16. Skyline三维地理信息系统软件平台
  17. find() python
  18. 财路网每日原创推送:币圈灰姑娘,BSV弱市该如何逆袭
  19. 小白也可以学会小爱同学语言控制灯
  20. 隐私计算加密技术基础系列(上)

热门文章

  1. html站点根目在哪,10分钟了解Dreamweaver中站点根目录相对路径
  2. pacman 查询_Pacman 命令记录
  3. 【CityHunter】服务器端设计思路
  4. [netplus]初见,Netplus快速开始之PingPong Example
  5. 个人第一次作业:阅读与准备作业
  6. 图解splay / splay模板 / p3369
  7. jQuery弹窗组件 colorbox
  8. mysql查询男女平均年龄_mysql查询练习(三)
  9. powerdns 安装部署备忘
  10. iOS数据持久化设计探讨(NSCache,PINCache,YYCache,CoreData,FMDB,WCDB,Realm)