使用c3p0连接池连接数据库

示例(mvc模式)

1.mysql.properties (连接数据库的)文件:

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true

user=root

password=root

2.c3p0-config.xml 文件(配置在src根目录下):

com.mysql.jdbc.Driver

jdbc:mysql:///test

root

root

5

10

com.mysql.jdbc.Driver

jdbc:mysql:///test

root

root

5

10

3.util 类:

public class JDBCUtils {

// 初始化连接池

private static DataSource dataSource;

static {

dataSource=new ComboPooledDataSource();

}

public static DataSource getDataSource() {

return dataSource;

}

/**

* 创建DbUtils常用工具类对象

*/

public static QueryRunner getQuerrRunner() {

return new QueryRunner(dataSource);

}

}

注意:区别

4.dao 层:

/**

* 2. 菜系模块,dao接口设计

*/

public interface StudentTypeDao {

public void save(StudentType studentType);//添加

public void update(StudentType studentType);//更新

public void delete(int id);//删除

public StudentType findById(int id);//根据主键查询

public ListgetAll();//查询全部

public ListgetAllForName(String sName);//根据名称查询

}

5.dao 的实现:

/**

* 2. 学生系模块dao实现

*/

public class StudentTypeDaoimpl implements StudentTypeDao{

@Override

public void save(StudentType studentType) {//增加

//SQL语句

String sql="insert into student_list(id,sName,sex,major,nianji) values(?,?,?,?,?)";

try {//抛异常

//把得到的值放入一个数组

Object params[]= {studentType.getId(),studentType.getsName(),

studentType.getSex(),studentType.getMajor(),studentType.getNianji()};

//调用util类的getQuerrRunner()方法

JDBCUtils.getQuerrRunner().update(sql,params);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

@Override

public void update(StudentType studentType) {//更新

String sql="update student_list set sName=?,major=?,nianji=? where id=?";

try {

Object params[]={studentType.getsName(),

studentType.getMajor(),studentType.getNianji(),studentType.getId()};

JDBCUtils.getQuerrRunner().update(sql,params);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

@Override

public void delete(int id) {

String sql="delete from student_list where id=?";

try {

JDBCUtils.getQuerrRunner().update(sql, id);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

@Override

public StudentType findById(int id) {

String sql="select * from student_list where id=?";

try {

return JDBCUtils.getQuerrRunner().query(sql, new BeanHandler(StudentType.class), id);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

@Override

public ListgetAll() {

String sql="select * from student_list";

try {

Listlist = JDBCUtils.getQuerrRunner().query(sql, new BeanListHandler(StudentType.class));

return list;

} catch (Exception e) {

throw new RuntimeException(e);

}

}

@Override

public ListgetAllForName(String sName) {

String sql="select * from student_list where sName like ?";

try {

return JDBCUtils.getQuerrRunner().query(sql, new BeanListHandler(StudentType.class), "%"+sName+"%");

} catch (Exception e) {;

throw new RuntimeException(e);

}

}

}

用到的jar包:

百度网盘:

链接:https://pan.baidu.com/s/1hiied02Gv53yGGxedJEz1A

提取码:u7fi

使用c3p0对mysql进行增删改查_c3p0连接池连接数据库 并增删改查相关推荐

  1. 使用C3P0连接池连接数据库

    C3P0工具类,XML文件中写关于数据库的一些配置信息 package com.itheima.utils; import com.mchange.v2.c3p0.ComboPooledDataSou ...

  2. Go操作mysql实现增删改查及连接池

    [-] 下载驱动 创建测试表 数据库连接 插入操作 查询操作 修改操作 删除操作 完整代码 小结 开启web服务 db对象初始化 请求方法 小结 golang本身没有提供连接mysql的驱动,但是定义 ...

  3. java c3p0连接溢出_c3p0连接池超出maxPoolSize

    c3p0连接池超出maxPoolSize回报以下错误: Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error ...

  4. java连接oracle增删改查,java连接oracle数据库实现增删改查

    package com; import java.sql.*; import java.util.Scanner; public class testOracle { static final Str ...

  5. javaweb mysql 连接池 c3p0 配置_C3P0连接池详细配置与实现(2)全局使用

    全局使用c3p0 1. server.xml中GlobalNamingResources description="DB Connection" driverClass=" ...

  6. mybatis mysql merge_使用Mybatis和druid连接池报错 merge sql error, dbType mysql, sql

    在项目中用mybatis查询的时候遇到一个这样的问题,抛错详情如下: merge sql error, dbType mysql, sql : select r.id from role r inne ...

  7. C3P0,Proxool,BoneCP,Druid等连接池的断开自动重联功能

    数据库连接池的断开自动重联.失败恢复功能显得很重要,不知道目前主流的数据库连接池:C3P0,Proxool,BoneCP,Druid等支持如何? 我知道的: Proxool: ? 1 2 3 4 5 ...

  8. mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  9. Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误

    Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误 出现的 ...

最新文章

  1. katalon进行app测试_使用Katalon Studio创建你的第一个API测试
  2. Qt Creator分析代码
  3. html和css制作动漫岛,CSS动画
  4. 搭建K8s集群(kubeadm方式)-部署master节点
  5. 数字游戏(水博客ing / csp-J T1 / luogu 5660)
  6. c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法
  7. rsem比对_RSEM方法比对和表达量计算
  8. 软件工程编码阶段_软件工程的编码阶段
  9. 一个使用Logging Application Block的小问题[xgluxv]
  10. linux输出文件没有找到,Linux环境下标准输入、输出、错误信息详解
  11. 数据结构与算法:实验一线性表(字符串分类统计)
  12. 【转】PCDATA和CDATA的区别究竟是什么呢?
  13. 极化码理论及算法研究6-SCL、CA-SCL及matlab仿真
  14. python手机号归属地查询
  15. dom影像图形成数字地形图_航测相关知识点——鲲鹏智汇承接航测相关任务
  16. 计算机网络调试套什么定额,第一章计算机网络系统设备安装工程定额.docx
  17. linux打开txt文件命令_Linux文件操作,这些命令可以搞定
  18. 8月24日科技联播:特斯拉回应苹果“疯狂挖人”,对方比我们有钱100倍
  19. HanLP-命名实体识别总结
  20. ngx_http_core_module模块提供的变量

热门文章

  1. 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
  2. How to check Laravel version?
  3. WinXp安装Oracle 11g Express Edition
  4. php mysql 备注_php,mysql备注信息1
  5. Docker的使用(二:Docker客户端常用指令练习)
  6. eclipse c语言_如果你的电脑是windows7/10的环境,用什么编译器学习C语言好?
  7. C++ 枚举类型基本知识
  8. 参加完Python培训可以做什么
  9. 制作ui设计作品集要注意哪些
  10. 软件测试培训怎么学?有没有发展前景?