• Mybatis-Plus条件构造器


    目录

    Mybatis-Plus条件构造器

    1、allEq:全部

    2、eq:等于

    3、ne:不等于

    4、gt:大于

    5、ge:大于等于

    6、lt:小于

    7、le:小于等于

    8、between:两者之间

    9、notBetween:两者之外

    10、like:模糊查询

    11、notLike:模糊查询

    12、likeLeft:

    13、likeRight

    14、isNull

    15、isNotNull

    15、in

    16、notIn

    17、inSql

    18、notInSql

    19、groupBy

    20、orderByAsc

    21、orderByDesc

    22、orderBy

    23、having

    24、or

    25、and

    26、nested

    27、last

    28、exists

    29、notExists

    QueryWrapper

    30、select

    UpdateWrapper

    31、set

    32、lambda


    Mybatis-Plus条件构造器

    1、allEq:全部

    1. allEq(Map params)
    2. allEq(Map params, boolean null2IsNull)
    3. allEq(boolean condition, Map params, boolean null2IsNull)

     全部eq(或个别isNull)

    个别参数说明:

    params : key为数据库字段名,value为字段值
    null2IsNull : 为true则在mapvaluenull时调用 isNull 方法,为false时则忽略valuenull

     示例:

    1. @Test
    2. public void AllEq() {
    3. //设置条件
    4. Map<String,Object> params = new HashMap<>();
    5. params.put("name", "坤坤");
    6. params.put("age", "18");
    7. params.put("password", null);
    8. QueryWrapper<Users> wrapper = new QueryWrapper<>();
    9. //SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE password IS NULL AND name = ? AND age = ?
    10. //wrapper.allEq(params);
    11. //去掉为空的条件
    12. //SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? AND age = ?
    13. //wrapper.allEq(params,false);
    14. //过滤条件
    15. //SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ?
    16. wrapper.allEq((k, v) -> (k.equals("name") || k.equals("id")),params);
    17. //SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? AND age = ?
    18. wrapper.allEq((k, v) -> (k.equals("name") || k.equals("age")),params);
    19. List<Users> users = this.userMapper.selectList(wrapper);
    20. for (Users user : users) {
    21. System.out.println(user);
    22. }
    23. }

    2、eq:等于

    1. eq(R column, Object val)
    2. eq(boolean condition, R column, Object val)
    • 等于 =
    • 例: eq("name", "老王")--->name = '老王'

    示例: 

    1. //查询一条数据
    2. @Test
    3. public void selectOne() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. queryWrapper.eq("user_name","11");
    6. //查询一条,如果多余1条会报异常
    7. Users user = this.userMapper.selectOne(queryWrapper);
    8. System.out.println("result = " + user);
    9. }

    3、ne:不等于

    1. ne(R column, Object val)
    2. ne(boolean condition, R column, Object val)
    • 不等于 <>
    • 例: ne("name", "老王")--->name <> '老王'

    示例:

    1. //不等于
    2. @Test
    3. public void selectListNe() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name <> ?
    6. queryWrapper.ne("name","王五");
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    4、gt:大于

    1. gt(R column, Object val)
    2. gt(boolean condition, R column, Object val)
    • 大于 >
    • 例: gt("age", 18)--->age > 18
    1. //大于
    2. @Test
    3. public void selectListGt() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age > ?
    6. queryWrapper.gt("age","20");
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    5、ge:大于等于

    1. ge(R column, Object val)
    2. ge(boolean condition, R column, Object val)
    • 大于等于 >=
    • 例: ge("age", 18)--->age >= 18
    1. //大于等于
    2. @Test
    3. public void selectListGe() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age >= ?
    6. queryWrapper.ge("age","20");//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    6、lt:小于

    1. lt(R column, Object val)
    2. lt(boolean condition, R column, Object val)
    • 小于 <
    • 例: lt("age", 18)--->age < 18
    1. //小于
    2. @Test
    3. public void selectListLt() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age < ?
    6. queryWrapper.lt("age","20");//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    7、le:小于等于

    1. le(R column, Object val)
    2. le(boolean condition, R column, Object val)
    • 小于等于 <=
    • 例: le("age", 18)--->age <= 18
    1. //小于等于
    2. @Test
    3. public void selectListLe() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age <= ?
    6. queryWrapper.le("age","20");//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    8、between:两者之间

    1. between(R column, Object val1, Object val2)
    2. between(boolean condition, R column, Object val1, Object val2)
    • BETWEEN 值1 AND 值2
    • 例: between("age", 18, 30)--->age between 18 and 30
    1. //两者之间
    2. @Test
    3. public void selectListBetween() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age BETWEEN ? AND ?
    6. queryWrapper.between("age",15,20);//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    9、notBetween:两者之外

    1. notBetween(R column, Object val1, Object val2)
    2. notBetween(boolean condition, R column, Object val1, Object val2)
    • NOT BETWEEN 值1 AND 值2
    • 例: notBetween("age", 18, 30)--->age not between 18 and 30
    1. //两者之外
    2. @Test
    3. public void selectListNotBetween() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age NOT BETWEEN ? AND ?
    6. queryWrapper.notBetween("age",15,20);//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    10、like:模糊查询

    1. like(R column, Object val)
    2. like(boolean condition, R column, Object val)
    • LIKE '%值%'
    • 例: like("name", "王")--->name like '%王%'
    1. //模糊查询
    2. @Test
    3. public void selectListLike() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name LIKE ?
    6. queryWrapper.like("name","王");//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    11、notLike:模糊查询

    1. notLike(R column, Object val)
    2. notLike(boolean condition, R column, Object val)
    • NOT LIKE '%值%'
    • 例: notLike("name", "王")--->name not like '%王%'
    1. //模糊查询
    2. @Test
    3. public void selectListNotLike() {
    4. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    5. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name NOT LIKE ?
    6. queryWrapper.notLike("name","王");//
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    12、likeLeft:

    1. likeLeft(R column, Object val)
    2. likeLeft(boolean condition, R column, Object val)
    • LIKE '%值'
    • 例: likeLeft("name", "王")--->name like '%王'
    1. @Test
    2. public void selectListLikeLeft() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name LIKE ? Parameters: %王(String)
    5. queryWrapper.likeLeft("name","王");//查询年龄大于20的条数
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    13、likeRight

    1. likeRight(R column, Object val)
    2. likeRight(boolean condition, R column, Object val)
    • LIKE '值%'
    • 例: likeRight("name", "王")--->name like '王%'
    1. @Test
    2. public void selectListLikeRight() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name LIKE ? 王%(String)
    5. queryWrapper.likeRight("name","王");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    14、isNull

    1. isNull(R column)
    2. isNull(boolean condition, R column)
    • 字段 IS NULL
    • 例: isNull("name")--->name is null
    1. @Test
    2. public void selectListIsNull() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name IS NULL
    5. queryWrapper.isNull("name");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    15、isNotNull

    1. isNotNull(R column)
    2. isNotNull(boolean condition, R column)
    • 字段 IS NOT NULL
    • 例: isNotNull("name")--->name is not null
    1. @Test
    2. public void selectListIsNotNull() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name IS NOT NULL
    5. queryWrapper.isNotNull("name");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    15、in

    1. in(R column, Collection<?> value)
    2. in(boolean condition, R column, Collection<?> value)
    • 字段 IN (value.get(0), value.get(1), ...)
    • 例: in("age",{1,2,3})--->age in (1,2,3)
    1. in(R column, Object... values)
    2. in(boolean condition, R column, Object... values)
    • 字段 IN (v0, v1, ...)
    • 例: in("age", 1, 2, 3)--->age in (1,2,3)
    1. @Test
    2. public void selectListIn() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age IN (?,?,?)
    5. queryWrapper.in("age",15,18,19);
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    16、notIn

    1. notIn(R column, Collection<?> value)
    2. notIn(boolean condition, R column, Collection<?> value)
    • 字段 NOT IN (value.get(0), value.get(1), ...)
    • 例: notIn("age",{1,2,3})--->age not in (1,2,3)
    1. notIn(R column, Object... values)
    2. notIn(boolean condition, R column, Object... values)
    • 字段 NOT IN (v0, v1, ...)
    • 例: notIn("age", 1, 2, 3)--->age not in (1,2,3)
    1. @Test
    2. public void selectListNotIn() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age NOT IN (?,?,?)
    5. queryWrapper.notIn("age",15,18,19);
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    17、inSql

    1. inSql(R column, String inValue)
    2. inSql(boolean condition, R column, String inValue)
    • 字段 IN ( sql语句 )
    • 例: inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6)
    • 例: inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)
    1. @Test
    2. public void selectListInSql() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE id IN (select id from tb_user where id < 3)
    5. queryWrapper.inSql("id", "select id from tb_user where id < 3");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    18、notInSql

    1. notInSql(R column, String inValue)
    2. notInSql(boolean condition, R column, String inValue)
    • 字段 NOT IN ( sql语句 )
    • 例: notInSql("age", "1,2,3,4,5,6")--->age not in (1,2,3,4,5,6)
    • 例: notInSql("id", "select id from table where id < 3")--->id not in (select id from table where id < 3)
    1. @Test
    2. public void selectListNotInSql() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE id NOT IN (select id from tb_user where id < 3)
    5. queryWrapper.notInSql("id", "select id from tb_user where id < 3");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    19、groupBy

    1. groupBy(R... columns)
    2. groupBy(boolean condition, R... columns)
    • 分组:GROUP BY 字段, ...
    • 例: groupBy("id", "name")--->group by id,name
    1. @Test
    2. public void selectListGroupBy() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user GROUP BY age
    5. queryWrapper.groupBy("age");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    20、orderByAsc

    1. orderByAsc(R... columns)
    2. orderByAsc(boolean condition, R... columns)
    • 排序:ORDER BY 字段, ... ASC
    • 例: orderByAsc("id", "name")--->order by id ASC,name ASC
    1. @Test
    2. public void selectListOrderByAsc() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user ORDER BY age ASC
    5. queryWrapper.orderByAsc("age");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    21、orderByDesc

    1. orderByDesc(R... columns)
    2. orderByDesc(boolean condition, R... columns)
    • 排序:ORDER BY 字段, ... DESC
    • 例: orderByDesc("id", "name")--->order by id DESC,name DESC
    1. @Test
    2. public void selectListOrderByDesc() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user ORDER BY age DESC
    5. queryWrapper.orderByDesc("age");
    6. //根据条件查询集合
    7. List<Users> userList = this.userMapper.selectList(queryWrapper);
    8. userList.forEach(System.out::println);
    9. }

    22、orderBy

    orderBy(boolean condition, boolean isAsc, R... columns)
    • 排序:ORDER BY 字段, ...
    • 例: orderBy(true, true, "id", "name")--->order by id ASC,name ASC
    1. @Test
    2. public void selectListOrderByDesc() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user ORDER BY age ASC
    5. /*Params:
    6. condition – 执行条件
    7. isAsc – 是否是 ASC 排序
    8. columns – 字段数组
    9. */
    10. queryWrapper.orderBy(true,true,"age");
    11. //根据条件查询集合
    12. List<Users> userList = this.userMapper.selectList(queryWrapper);
    13. userList.forEach(System.out::println);
    14. }

    23、having

    1. having(String sqlHaving, Object... params)
    2. having(boolean condition, String sqlHaving, Object... params)
    • HAVING ( sql语句 )
    • 例: having("sum(age) > 10")--->having sum(age) > 10
    • 例: having("sum(age) > {0}", 11)--->having sum(age) > 11
    1. @Test
    2. public void selectListHaving() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? HAVING sum(age) > 10
    5. queryWrapper
    6. .eq("name","王五")
    7. .having("sum(age) > 10");
    8. //根据条件查询集合
    9. List<Users> userList = this.userMapper.selectList(queryWrapper);
    10. userList.forEach(System.out::println);
    11. }

    24、or

    1. or()
    2. or(boolean condition)

    注意事项:

    主动调用or表示紧接着下一个方法不是用and连接!(不调用or则默认为使用and连接)

    eq("id",1).or().eq("name","老王")--->id = 1 or name = '老王' 

    1. @Test
    2. public void selectListOr() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? OR age = ?
    5. queryWrapper
    6. .eq("name","王五")
    7. .or()
    8. .eq("age","20");
    9. //根据条件查询集合
    10. List<Users> userList = this.userMapper.selectList(queryWrapper);
    11. userList.forEach(System.out::println);
    12. }
    1. or(Consumer<Param> consumer)
    2. or(boolean condition, Consumer<Param> consumer)
    • OR 嵌套
    • 例: or(i -> i.eq("name", "李白").ne("status", "活着"))--->or (name = '李白' and status <> '活着')

    25、and

    1. and(Consumer<Param> consumer)
    2. and(boolean condition, Consumer<Param> consumer)
    • AND 嵌套
    • 例: and(i -> i.eq("name", "李白").ne("status", "活着"))--->and (name = '李白' and status <> '活着')
    1. @Test
    2. public void selectListAnd() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? AND ( age = ? )
    5. queryWrapper
    6. .eq("name","王五")
    7. .and(i -> i.eq("age", "18"));
    8. //根据条件查询集合
    9. List<Users> userList = this.userMapper.selectList(queryWrapper);
    10. userList.forEach(System.out::println);
    11. }

    26、nested

    1. nested(Consumer<Param> consumer)
    2. nested(boolean condition, Consumer<Param> consumer)
    • 正常嵌套 不带 AND 或者 OR
    • 例: nested(i -> i.eq("name", "李白").ne("status", "活着"))--->(name = '李白' and status <> '活着')

    27、last

    1. last(String lastSql)
    2. last(boolean condition, String lastSql)

    无视优化规则直接拼接到 sql 的最后 

    注意事项:

    只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用

    last("limit 1")

    28、exists

    1. exists(String existsSql)
    2. exists(boolean condition, String existsSql)
    • 拼接 EXISTS ( sql语句 )
    • 例: exists("select id from table where age = 1")--->exists (select id from table where age = 1)​​​​​​​

    29、notExists

    1. notExists(String notExistsSql)
    2. notExists(boolean condition, String notExistsSql)
    • 拼接 NOT EXISTS ( sql语句 )
    • 例: notExists("select id from table where age = 1")--->not exists (select id from table where age = 1)

    QueryWrapper

    说明:

    继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件
    及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取

    30、select

    1. select(String... sqlSelect)
    2. select(Predicate<TableFieldInfo> predicate)
    3. select(Class<T> entityClass, Predicate<TableFieldInfo> predicate)

    设置查询字段

    说明:

    以上方法分为两类.
    第二类方法为:过滤查询字段(主键除外),入参不包含 class 的调用前需要wrapper内的entity属性有值! 这两类方法重复调用以最后一次为准

    • 例: select("id", "name", "age")
    • 例: select(i -> i.getProperty().startsWith("test"))
    1. @Test
    2. public void selectListExists() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,name,age FROM tb_user
    5. queryWrapper
    6. .exists("select id from tb_user where age = 18");
    7. //根据条件查询集合
    8. List<Users> userList = this.userMapper.selectList(queryWrapper);
    9. userList.forEach(System.out::println);
    10. }

    UpdateWrapper

    说明:

    继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件
    及 LambdaUpdateWrapper, 可以通过 new UpdateWrapper().lambda() 方法获取!

    31、set

    1. set(String column, Object val)
    2. set(boolean condition, String column, Object val)
    • SQL SET 字段
    • 例: set("name", "老李头")
    • 例: set("name", "")--->数据库字段值变为空字符串
    • 例: set("name", null)--->数据库字段值变为null
    1. @Test
    2. public void selectListSet() {
    3. UpdateWrapper<Users> updateWrapper = new UpdateWrapper<>();
    4. //SQL: UPDATE tb_user SET name=?
    5. //修改全部
    6. updateWrapper
    7. .set("name", "老李头");
    8. //根据条件查询集合
    9. int update = this.userMapper.update(null, updateWrapper);
    10. System.out.println(update);
    11. }
    1. @Test
    2. public void selectListSetSql() {
    3. UpdateWrapper<Users> updateWrapper = new UpdateWrapper<>();
    4. //SQL: UPDATE tb_user SET age = age + 1 WHERE name = ?
    5. //根据条件修改
    6. updateWrapper
    7. .setSql("age = age + 1").eq("name","老李头");
    8. //根据条件查询集合
    9. int update = this.userMapper.update(null, updateWrapper);
    10. System.out.println(update);
    11. }

    32、lambda

    • 获取 LambdaWrapper
      QueryWrapper中是获取LambdaQueryWrapper
      UpdateWrapper中是获取LambdaUpdateWrapper
    1. @Test
    2. public void selectListLambda() {
    3. QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
    4. //SQL: SELECT id,name,age FROM tb_user
    5. queryWrapper
    6. .lambda()
    7. .select(Users::getId,Users::getAge,Users::getName)
    8. .like(Users::getName,"老");
    9. //根据条件查询集合
    10. List<Users> userList = this.userMapper.selectList(queryWrapper);
    11. userList.forEach(System.out::println);
    12. }

  • 相关阅读:
    提交代码触发Jenkins流水线更新
    Git 代码分支管理
    蓝桥杯单片机快速开发笔记——定时器
    leetcode 打家劫舍篇
    数据结构——计数与归并非递归
    MacOS - command not found: brew
    0811KQC—注解反射—orm框架(增删改查)
    AJAX和axios的基本使用
    dds:subscribe:DataReader
    MySQL(二)——约束
  • 原文地址:https://blog.csdn.net/qi341500/article/details/132781582