关于Mybatis中常见的问题以及解决办法

发布时间 2023-04-16 12:28:43作者: 一个小问

一.基础问题

问题一:所有的配置没问题时,查询的数据库却为空,首先可以确定的是配置没问题,数据库连接也没有问题,那就可能是数据读取有问题了

 有三种解决办法

解决办法:(1)去实体类修改set方法,Mybatis是通过set方法进行查询的,所以只需要修改set方法就可以查询得到(不推荐使用)

                       (i)原因:Mybatis是通过set方法来进行查询的,那我们只需要修改了set方法不就可以让其查询到了

                        

 


                  (2)给数据库字段名取别名(字段少的时候推荐使用)

                  ( 3)结果集映射ResultMap(推荐使用)

问题二:午餐初始化

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.pojo.Employees with invalid types (int,String,String,String,String,String,Double,Double,int,int,Date) or values (100,Steven,K_ing,SKING,515.123.4567,AD_PRES,24000.0,null,null,90,Fri Apr 03 00:00:00 SGT 1992). Cause: java.lang.IllegalArgumentException


解决方案:在确定配置没有问题后,出现非法参数异常 。问题出在具体实例无法初始化,通过查阅相关资料,得知mybatis在初始化对象时,需要用无参构造方法加载属性,所以在实体类中加上无参构造方法就正常了。

问题三:找不到依赖问题
我在搭建MyBatis时遇到手动导入mysql8的Jar包却找不到驱动,改了好多地方也不能解决。


**解决方案:**最后只能删除了手动导入的jar包改用maven导入。

 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>