【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException
去查了一下Resources.getResourceAsStream
试图改变xml配置的位置:
结果报错:
尝试启动 DemomybatisApplication
居然没连接数据库,于是连接数据库:
再启动test文件:仔细看报错是
去查了一下,加上了mapper注解
然而报错还是一样的,又去查资料,在pom.xml中增加了一配置:
再次运行,成功了:
查到的结果也正常显示了。
以上查询的代码:
全局配置:
mybatis-config.xml
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><properties><property name="jdbc.driver" value="com.mysql.cj.jdbc.Driver"/><property name="jdbc.url"value="jdbc:mysql://localhost:3308/data1?characterEncoding=UTF-8"/><property name="jdbc.username" value="heziyi"/><property name="jdbc.password" value="123456"/></properties><!-- 环境配置,可以配置多个环境 --><environments default="test"><!--environment用来对某个环境进行配置id:环境标识,唯一--><environment id="test"><!-- 事务管理器工厂配置 --><transactionManager type="JDBC"/><!-- 数据源工厂配置,使用工厂来创建数据源 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments><mappers><package name="com.example.demomybatis.mapper"/></mappers>
</configuration>
<!-- 使用package 来让mybatis加载com.javacode2018.chat03.demo3.mapper 包下-->
<!-- 面所有的Mapper接口和Mapper xml文件。-->
实体类和接口:
package com.example.demomybatis.model;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;@Data
@AllArgsConstructor
@Builder
@ToString
public class UserModel {private int id;private String name;private String pwd;
}
import java.util.List;
@Mapper
public interface UserMapper {List<UserModel>getList();
}
查询的xml映射文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demomybatis.mapper.UserMapper"><!-- select用来定义一个查询操作id:操作的具体标识resultType:指定查询结果保存的类型--><select id="getList"resultType="com.example.demomybatis.model.UserModel">
<![CDATA[SELECT * FROM user]]>
</select>
</mapper>
运行的Test文件:
@Slf4j
public class Demo3Test {private SqlSessionFactory sqlSessionFactory;@Beforepublic void before() throws IOException {//指定mybatis全局配置文件String resource = "mybatis-config.xml";
//读取全局配置文件InputStream inputStream =Resources.getResourceAsStream(resource);
//构建SqlSessionFactory对象SqlSessionFactory sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);this.sqlSessionFactory = sqlSessionFactory;}@Testpublic void test() {try (SqlSession sqlSession = this.sqlSessionFactory.openSession(true);) {UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//执行查询操作List<UserModel> userModelList = userMapper.getList();userModelList.forEach(item -> {log.info("{}", item);});log.info("----------------------------------");}}
}
yml数据库配置:
spring:datasource:url: jdbc:mysql://localhost:3308/data1?useUnicode=true&characterEncoding=UTF8username: heziyipassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver
【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException相关推荐
- mybatis:Error preparing statement. Cause: java.lang.NullPointerException
mybatis使用中sql正常却出现空指针 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibat ...
- mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String
mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String 参考文章: (1)mybati ...
- SpringBootTest测试类报错:Suppressed: java.lang.IllegalStateException: Unable to find a @SpringBootCon
在一个特别简单的mybatisPlus测试类中,单元测试时,报错Suppressed: java.lang.IllegalStateException: Unable to find a @Sprin ...
- Mybatis报错: Error querying database. Cause: java.lang.NumberFormatException: For input string: “A“
报错信息:Error querying database. Cause: java.lang.NumberFormatException: For input string: "A" ...
- 游戏测试问题之:Caused by: java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000004
公司开发的小游戏在进行 Monkey 测试时在个别机型一直遇到相同的几个问题,特此记录一下 错误日志如下: Caused by: java.lang.Error: signal 11 (SIGSEGV ...
- Spring异常解决 java.lang.NullPointerException,配置spring管理hibernate时出错
@Repository public class SysUerCDAO {@Autowiredprivate Hibernate_Credit hibernate_credit;/*** 根据手机号码 ...
- 【错误记录】Android Studio 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | 指定 APK 打包动态库的 CPU 架构 )
文章目录 一.报错信息 二.解决方案 ( 指定 APK 打包动态库的 CPU 架构 ) 一.报错信息 外部引用 so 动态库 , 如果只有一个 armeabi-v7a 的动态库 , 那么如果在 arm ...
- 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式
使用最新的POI3.11时,在执行 Workbook workBook = new XSSFWorkbook ();这段代码时出现错误: java.lang.NoSuchMethodError: j ...
- aop编程时出现错误信息:java.lang.NoClassDefFoundError
代码错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'calI ...
最新文章
- Numpy入门教程:06. 排序,搜索和计数
- 数据结构与算法之KMP算法02
- PyCharm中批量查找及替换
- 阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?
- matlab读入txt数据_教程合集 | MATLAB文件读写(以nc与txt为例)
- mongodb远程连接
- mstsc局域网远程 要预先做的设置
- 链表和数组的区别在哪里
- JavaScript笔记-使用反引号格式化字符串
- 三台云服务器搭建hadoop集群
- [专栏精选]Unity动画系统的RootMotion
- 以太坊交易的打包规则
- xcode ios 模拟器下载安装
- VGA、DVI、HDMI都是什么意思?
- curl_easy_getinfo() -- 从 curl 句柄里获得附加信息
- 计算机常年开机,电脑长时间开机的危害
- Debian7 更换源
- 联想服务器带外管理怎么进系统,管理 Internet Explorer 中的加载项
- 乘法原理的例题和答案_加法原理与乘法原理练习题
- mysql dump 10.13 下载_mysqldump.exe 文件下载
热门文章
- flink 7-提交任务
- 语言怎么绘画人物肖像_坦培拉绘画技法——油画简史
- echarts指针进度条刻度调整_指针式流量开关
- 什么是python语言的动态类型机制_python的内存管理机制
- 计算机软件中os具有什么功能,[计算机软件及应用]OS第三章1.ppt
- win7光盘修复计算机在哪,win7如何创建系统还原及系统修复光盘功能应用
- oracle中姓名取姓氏,Oracle SQL - 解析一個名稱字符串並將其轉換爲第一個姓氏和名字...
- Android压缩文件(压缩目录)
- 额外篇 | basemap(上)
- 四十四、Python中的statsmodels模块