MyBatis配置的两个问题:
1.数据库驱动url问题
问题:
这里的写的数据库驱动的url地址是jdbc:mysql://localhost:3306/mybatis_cmq?useUnicode=true&characterEncoding=utf-8"出现了后台红色的警告
解决:
将数据库驱动的url地址加上一个参数useSSL=true&即可消除该警告
原理:
原因是MySQL在高版本需要指明是否进行SSL连接。
就是使用JDBC跟你的数据库连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,
在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。更高版本。
2.Mapper.xml文件中mapper标签中的属性问题
问题:
在利用MyBatis框架时,使用查询sql语句查询数据中的数据时,发现回报以下错误,
找不到数据库中数据映射的对象
Exception in thread "main" org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.qf.entity.User
at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:346)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109)
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:788)
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:758)
解决
将接口映射的配置文件中的Select标签中的resultMap属性更改为resultType即可解决该问题
原理【尚未明确】
因为我这个xml文件中写的查询方法压根就没有用到过这个类
tips
返回结果为一个bean的时候 使用ResultMap进行映射
返回结果为List的时候 使用ResultType进行映射