MybatiesPlus 官网SQL基本语法Mybaties3官网mybatis-plus快速入门并使用mybatis-plus中wrapper的用法(详细)MyBatis-Plus自动生成mapper service controllerMybatisPlus:泛型方法使用listObjs(Function<? super Object, V> mapper)
@Testpublic void test1(){ ConfigDO c1 = new ConfigDO(); c1.setConfigType(2); c1.setConfig("1#1"); ConfigDO c2 = new ConfigDO(); c2.setConfigType(3); c2.setConfig("1#1"); ConfigDO c3 = new ConfigDO(); c3.setConfigType(4); c3.setConfig("1#1"); ArrayList pList = new ArrayList<>(); pList.add(c1); pList.add(c2); pList.add(c3); configService.saveBatch(pList); }
更新
// 如果有就更新 没有就保存 @Test public void test1(){ ConfigDO c1 = new ConfigDO(); c1.setConfigType(2); c1.setConfig("11#11"); c1.setId(3L); configService.saveOrUpdate(c1); }
@Test public void test1(){ ConfigDO c1 = new ConfigDO(); c1.setConfigType(2); c1.setConfig("11#11"); UpdateWrapper configDOUpdateWrapper = new UpdateWrapper<>(); // 先尝试更新 如果无法更新一般是不存在 就尝试插入保存 configDOUpdateWrapper.eq("config_type",2).set("config","11111#55"); configService.saveOrUpdate(c1,configDOUpdateWrapper); }
函数式编程
//函数其实过滤 对获得的结果进一步处理 List listObjs(Wrapper queryWrapper, Function super Object, V> mapper);QueryWrapper configDOQueryWrapper = new QueryWrapper<>(); // 第一个参数是处理前的参数 第二个是处理后的返回对象 configService.listObjs(null, new Function
void mpTest() {//你这里function 的入参就是 tableId 那个字段啊,我还以为是entity对象呢List list = userService.list();list.stream().forEach(System.out::println);System.out.println("--------------------------------");List longs = userService.listObjs(null, new Function
链式查询
链式编程是为了匹配多个条件 链式column Person::getAge 查询用list 的
QueryChainWrapper configDOQueryChainWrapper = new QueryChainWrapper<>(configMapper);List config_type = configDOQueryChainWrapper.eq("config_type", "9").list();System.out.println(JSON.toJSON(config_type));
匿名查询
kt 是给 kotin 使用的
LambdaQueryWrapper lambda3 = Wrappers.lambdaQuery();lambda3.eq(ConfigDO::getConfigType,6);final List configDOList = configMapper.selectList(Wrappers.lambdaQuery().eq(ConfigDO::getConfigType,9));System.out.println(JSON.toJSONString(configDOList));final List list = this.service.lambdaQuery().eq(Student::getSid, "02").list();System.out.println(JSON.toJSONString(list));
@Testpublic void test4() { HashMap hashMap = new HashMap(); hashMap.put("Sname","Kidd"); // 带map 其实是返回数据对应的列名 final List students = this.service.listByMap(hashMap); System.out.println(JSON.toJSONString(students));}@Testpublic void test7(){ final List
listObjs接口
其实就是将返回值参数转换成对应类型
List longs = configService.listObjs(null, new Function
@Test public void test9(){ // 非链式普通 QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("SID","01"); //wrapper.eq(Student::getSid,"01"); List list = this.service.list(wrapper); System.out.println(JSON.toJSONString(list)); } @Test public void test10(){ // 非链式匿名 LambdaQueryWrapper lamdbaWrapper = new LambdaQueryWrapper<>(); // 匿名用的是函数式 LambdaQueryWrapper wrapper = lamdbaWrapper.eq(Student::getSid, "01"); List lamdbaList = this.service.list(wrapper); System.out.println(JSON.toJSONString(lamdbaList)); } @Test void test11(){ // 链式普通 QueryChainWrapper query = this.service.query(); query.eq("SID","01").like("Sname","*雷*"); final List list = query.list();// List list = this.service.list(query); System.out.println(JSON.toJSONString(list)); } @Test void test12(){ // 链式匿名 LambdaQueryChainWrapper query = this.service.lambdaQuery(); query.eq(Student::getSid,"01").like(Student::getSname,"*雷"); final List list = query.list();// List list = this.service.list(query); System.out.println(JSON.toJSONString(list)); }
暂时没有评论,来抢沙发吧~