前几天在看通用mapper的文档,决定在项目里使用,却出现了百思不得其解的问题
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
这是我的继承mapper接口,放在一个公共类里。
import com.example.importutil.common.MyMapper;
import com.example.importutil.pojo.WxappPage;
public interface WxappPageDao extends MyMapper<WxappPage> {
}
这是我其中的一个接口继承了mapper接口。
我在使用的时候问题来了,我调用了两次selectOne方法,但是控制台总是给我报空指针异常,于是我debug控制台打印sql语句,发现第一次查询, wxpage=wxappPageDao.getOne(id);查询成功,sql 语句 为 select id,,,,, where id=?,但是第二次查询就报错,sql语句为select id,,,,,where id=?,=?,=?…,根本就查询不到,因为没有传那么多参数。我试了很多次,都没有解决,其他的添加和修改也是如此。无奈放弃了通用mapper接口,改用了传统mybatis,手写sql语句。