Mybatis if : 简单的条件判断
select from book bookId=#{bookId}
mybatis中trim是动态拼接
prefix:前缀
suffix:后缀
suffixOverride:去除后缀指定的字符
prefixOverrides:去除前缀指定的字符
Mybatis中的foreach(在实现 mybatis in 语句查询时特别有用)
where (主要是用来简化sql语句中where条件判断的,能智能的处理 and or ,不必担心多余导致语法错误)
三种传参方式(#{},${},concat())
1. #{} 相当于 占位符 需要手动拼接%% 如 "zs" -> 'zs' 会拼接单引号
2. ${} 传递参数时只会传递参数本身 "zs" -> zs 不会拼接双引号而是直接引用值(不建议使用,有sql注入风险)
3. concat():拼接的方式
重点:传入String类型的参数需要在参数上使用@param注解
查询返回结果集resultMap:适合使用返回值是自定义实体类的情况
resultType:适合使用返回值的数据类型是非自定义的,即jdk的提供的类型
返回的类型时Map
第一步:导入分页插件
com.github.pagehelper
pagehelper
5.1.2
如图:
第二步:将pagehelper插件配置到mybatis中
如图:
第三步:导入pageBean。使用插件后,查询实际返回的是Page
Page
System.out.println("页码:" + page.getPageNum());
System.out.println("页大小:" + page.getPageSize());
System.out.println("总记录:" + page.getTotal());
使用PageInfo
PageInfo pageInfo = new PageInfo(list);
System.out.println("页码:" + pageInfo.getPageNum());
System.out.println("页大小:" + pageInfo.getPageSize());
System.out.println("总记录:" + pageInfo.getTotal());
测试:
打印结果:
特殊字符处理在xml中 > 和 < 等等符号都无法识别所以在这里我们需要特殊字符处理
> ------>(>)
< ------>(<)
& ----->(&)
空格----->( )
在这里给大家推荐一个插件(lombok)
在pom.xml里导入依赖
在实体类里加入@Data 就相当于写了get和set还有toString方法
@Builder :不用实例对象进行赋值,赋值如下
Book.builder(). bookId(1).bookName("三国演义").等等 .build();
赋值在builder()和build();之间如
Book.builder().bookId(1).bookName("1").build();


