日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException

發(fā)布時(shí)間:2024/9/30 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.



去查了一下Resources.getResourceAsStream

試圖改變xml配置的位置:

結(jié)果報(bào)錯(cuò):

嘗試啟動(dòng) DemomybatisApplication

居然沒連接數(shù)據(jù)庫,于是連接數(shù)據(jù)庫:

再啟動(dòng)test文件:仔細(xì)看報(bào)錯(cuò)是

去查了一下,加上了mapper注解

然而報(bào)錯(cuò)還是一樣的,又去查資料,在pom.xml中增加了一配置:

再次運(yùn)行,成功了:


查到的結(jié)果也正常顯示了。

以上查詢的代碼:
全局配置:
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><!-- 環(huán)境配置,可以配置多個(gè)環(huán)境 --><environments default="test"><!--environment用來對(duì)某個(gè)環(huán)境進(jìn)行配置id:環(huán)境標(biāo)識(shí),唯一--><environment id="test"><!-- 事務(wù)管理器工廠配置 --><transactionManager type="JDBC"/><!-- 數(shù)據(jù)源工廠配置,使用工廠來創(chuàng)建數(shù)據(jù)源 --><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文件。-->

實(shí)體類和接口:

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用來定義一個(gè)查詢操作id:操作的具體標(biāo)識(shí)resultType:指定查詢結(jié)果保存的類型--><select id="getList"resultType="com.example.demomybatis.model.UserModel"> <![CDATA[SELECT * FROM user]]> </select> </mapper>

運(yùn)行的Test文件:

@Slf4j public class Demo3Test {private SqlSessionFactory sqlSessionFactory;@Beforepublic void before() throws IOException { //指定mybatis全局配置文件String resource = "mybatis-config.xml"; //讀取全局配置文件InputStream inputStream =Resources.getResourceAsStream(resource); //構(gòu)建SqlSessionFactory對(duì)象SqlSessionFactory sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);this.sqlSessionFactory = sqlSessionFactory;}@Testpublic void test() {try (SqlSession sqlSession = this.sqlSessionFactory.openSession(true);) {UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //執(zhí)行查詢操作List<UserModel> userModelList = userMapper.getList();userModelList.forEach(item -> {log.info("{}", item);});log.info("----------------------------------");}} }

yml數(shù)據(jù)庫配置:

spring:datasource:url: jdbc:mysql://localhost:3308/data1?useUnicode=true&characterEncoding=UTF8username: heziyipassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver

總結(jié)

以上是生活随笔為你收集整理的【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。