Class not found: "com.wei.oa.utils.MybatisUtilsTestor"
总是找不到类
我的代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 驼峰命名转换-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- 设置默认的指向的数据库-->
<environments default="dev">
<!-- 配置环境,不用的环境不同的ID名字-->
<environment id="dev">
<!-- 采用jdbc方式对数据库事务进行commit和rollback-->
<transactionManager type="JDBC"></transactionManager>
<!-- 采用连接数据池方式管理数据库的连接-->
<!-- <dataSource type="POOLED">这个就不能用了,换成C3P0连接池和C3P0DataSourceFactory这个类配合使用-->
<!-- <dataSource type="com.wei.mybatis.datasource.C3P0DataSourceFactory">-->
<!-- mybatis和德鲁伊连接池整合-->
<dataSource type="com.wei.oa.datasources.DruidDataSourceFactory">
<!-- <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
<!-- jdbc连接属性c3p0的name-->
<!-- <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>-->
<!-- 德鲁伊的name-->
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<!-- <property name="url" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"/>-->
<property name="url" value="jdbc:mysql://localhost:3306/imooc-oa?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"/>
<!-- <property name="username" value="root"/>-->
<property name="username" value="root"/>
<property name="password" value="root"/>
<!-- <property name="initialPoolSize" value="5"/>-->
<!-- <property name="maxPoolSize" value="20"/>-->
<!-- <property name="minPoolSize" value="5"/>-->
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/test.xml"/>
</mappers>
</configuration>
package com.wei.oa.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import sun.misc.ExtensionInstallationException;
import java.io.IOException;
import java.io.Reader;
import java.util.function.Function;
public class MybatisUtils {
//利用static 静态属于类不属于对象,且全局唯一
private static SqlSessionFactory sqlSessionFactory=null;
//利用静态块在初始化类时实例化sqlSessionFactory
static {
Reader reader=null;
try{
reader = Resources.getResourceAsReader("mybatis-config.xml");
}
catch (IOException e){
//初始化错误时,通过抛出异常通知调用者
throw new ExceptionInInitializerError(e);
}
}
/**
* 执行SELECT查询SQL
* @param func 要执行查询语句的代码块
* @return 查询结果
*/
public static Object executeQuery(Function<SqlSession,Object> func){
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
Object obj = func.apply(sqlSession);
return obj;
} finally {
sqlSession.close();
}
}
/**
* 执行INSERT/UPDATE/DELETE写操作的SQL
* @param func 要执行的写操作的代码块
* @return 写操作后的返回的结果
*/
public static Object executeUpdate(Function<SqlSession,Object> func){
SqlSession sqlSession = sqlSessionFactory.openSession(false);
try {
Object obj = func.apply(sqlSession);
sqlSession.commit();
return obj;
}catch (RuntimeException e){
sqlSession.rollback();
throw e;
}finally {
sqlSession.close();
}
}
}
36
收起
正在回答 回答被采纳积分+1
2回答
淡水咸鱼
2021-05-14 00:08:36
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星