提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
IDEA中使用C3P0连接池、Mybatis框架
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- MyBatis通过C3P0连接池连接数据库
- 学习任务
- 一、环境搭建步骤
- 在pom.xml文件中添加依赖(dependency)
- 在resources文件目录下创建mybatis-config.xml文件
- 默认使用POOLED的配置如下
- C3P0的配置格式如下
- 同时需要创建一个datasource包,并在内创建一个名为datasource的类
- 在Utils包下创建一个类提供打开和关闭SqlSession
学习任务
提示:这里可以添加本文要记录的大概内容:
使用MyBatis所学知识完成如下练习
1、使用c3p0的方式管理数据库连接
2、结合注解以及批处理方式向教师表(teacher)中添加500条数据
3、结合注解使用分页插件PageHelper进行分页查询,查询第3页的数据
教师表结构(参考)
大家可以自己来定义表结构,也可以再来出几个跟MyBatis相关知识的题目来让其他小伙伴们完成。
完成之后可以贴出结合注解完成的批量插入以及分页查询和SQL语句相关的代码,小伙伴可以互相检查贴出的代码是否正确。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境搭建步骤 在pom.xml文件中添加依赖(dependency)在resources文件目录下创建mybatis-config.xml文件 默认使用POOLED的配置如下4.0.0 org.example MyBatis_Test 1.0-SNAPSHOT 8 8 org.mybatis mybatis 3.5.10 com.mchange c3p0 0.9.5.5 com.github.pagehelper pagehelper 5.3.0
C3P0的配置格式如下
同时需要创建一个datasource包,并在内创建一个名为datasource的类
该类可以为提供C3P0的连接池
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
public C3P0DataSourceFactory() {
this.dataSource = new ComboPooledDataSource();
}
}
在Utils包下创建一个类提供打开和关闭SqlSession
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
public class MyUtils {
// 创建一个静态的SqlSessionFactory
private static SqlSessionFactory sqlSessionFactory = null;
static {
// 在静态代码块中初始化配置文件
try {
// 读取配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 通过SqlSessionFactoryBuilder中的build方法获得SqlSessionFactory对象
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
System.out.println("初始化异常");
// 抛出一个初始化异常
throw new ExceptionInInitializerError(e);
}
}
// 获取连接
public static SqlSession openSession() {return sqlSessionFactory.openSession();}
// 关闭连接
public static void closeSession(SqlSession sqlSession) {
if (sqlSession != null)
sqlSession.close();
}
}
# 总结
c3p0连接池搭配mybatis框架的快速使用



