使用c3p0对mysql进行增删改查_c3p0连接池连接数据库 并增删改查
使用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连接池连接数据库 并增删改查相关推荐
- 使用C3P0连接池连接数据库
C3P0工具类,XML文件中写关于数据库的一些配置信息 package com.itheima.utils; import com.mchange.v2.c3p0.ComboPooledDataSou ...
- Go操作mysql实现增删改查及连接池
[-] 下载驱动 创建测试表 数据库连接 插入操作 查询操作 修改操作 删除操作 完整代码 小结 开启web服务 db对象初始化 请求方法 小结 golang本身没有提供连接mysql的驱动,但是定义 ...
- java c3p0连接溢出_c3p0连接池超出maxPoolSize
c3p0连接池超出maxPoolSize回报以下错误: Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error ...
- java连接oracle增删改查,java连接oracle数据库实现增删改查
package com; import java.sql.*; import java.util.Scanner; public class testOracle { static final Str ...
- javaweb mysql 连接池 c3p0 配置_C3P0连接池详细配置与实现(2)全局使用
全局使用c3p0 1. server.xml中GlobalNamingResources description="DB Connection" driverClass=" ...
- 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 ...
- C3P0,Proxool,BoneCP,Druid等连接池的断开自动重联功能
数据库连接池的断开自动重联.失败恢复功能显得很重要,不知道目前主流的数据库连接池:C3P0,Proxool,BoneCP,Druid等支持如何? 我知道的: Proxool: ? 1 2 3 4 5 ...
- mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理
前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...
- 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错误 出现的 ...
最新文章
- katalon进行app测试_使用Katalon Studio创建你的第一个API测试
- Qt Creator分析代码
- html和css制作动漫岛,CSS动画
- 搭建K8s集群(kubeadm方式)-部署master节点
- 数字游戏(水博客ing / csp-J T1 / luogu 5660)
- c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法
- rsem比对_RSEM方法比对和表达量计算
- 软件工程编码阶段_软件工程的编码阶段
- 一个使用Logging Application Block的小问题[xgluxv]
- linux输出文件没有找到,Linux环境下标准输入、输出、错误信息详解
- 数据结构与算法:实验一线性表(字符串分类统计)
- 【转】PCDATA和CDATA的区别究竟是什么呢?
- 极化码理论及算法研究6-SCL、CA-SCL及matlab仿真
- python手机号归属地查询
- dom影像图形成数字地形图_航测相关知识点——鲲鹏智汇承接航测相关任务
- 计算机网络调试套什么定额,第一章计算机网络系统设备安装工程定额.docx
- linux打开txt文件命令_Linux文件操作,这些命令可以搞定
- 8月24日科技联播:特斯拉回应苹果“疯狂挖人”,对方比我们有钱100倍
- HanLP-命名实体识别总结
- ngx_http_core_module模块提供的变量
热门文章
- 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
- How to check Laravel version?
- WinXp安装Oracle 11g Express Edition
- php mysql 备注_php,mysql备注信息1
- Docker的使用(二:Docker客户端常用指令练习)
- eclipse c语言_如果你的电脑是windows7/10的环境,用什么编译器学习C语言好?
- C++ 枚举类型基本知识
- 参加完Python培训可以做什么
- 制作ui设计作品集要注意哪些
- 软件测试培训怎么学?有没有发展前景?