①java.lang.IllegalArgumentException: invalid comparison: java.util.LinkedHashMap and java.lang.String
异常原因:在mybatis的配置文件中在if判断中不需要添加#{}
②在启动类上添加扫描包注解@MapperScan,注意导入@MapperScan是tk里面的。
@SpringBootApplication
@MapperScan("com.bigdata.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
③在resources里面加mybatis配置文件时,需要在application.yml里面加
mybatis:
mapper-locations: classpath*:/mappers/*Mapper.xml #此处的路径需要写成实际的
type-aliases-package: com.leyou.pojo #此处的路径需要写成实际的
configuration:
map-underscore-to-camel-case: true
④完成分页功能时,page和rows(length)必须是integer
⑤org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.leyou.mapper.BrandMapper.listBymore
BrandMapper.xml配置文件的namespace路径不对
⑥分页
LIMIT 0,5
第一个参数需要在service层做计算
Integer page1=(page-1)*rows;.
⑦ 在排序时, ORDER BY后面的参数需要用字符串拼接${sortBy}
<select id="listBymore" resultType="com.leyou.entity.Brand">
SELECT * from tb_brand
<if test="key!=null and key!=''">
WHERE name LIKE concat('%',#{key},'%')
</if>
ORDER BY ${sortBy}
<if test="desc != false">
DESC
</if>
LIMIT #{page},#{rows}
</select>
⑧通用mapper
mapper层继承选择tk的mapper
去掉@Mapper注解,不需要做任何配置就可以使用了。
import tk.mybatis.mapper.common.Mapper;
public interface UserMapper extends Mapper<User>{
}
⑨service层编写的代码没有任何问题,却查询不到数据,其他地方也没有任何问题,很大可能性是数据库、表出现问题。