java----连接池C3p0使用的补充

C3p0数据库的连接方式是目前市场场最为广泛的类型之一

本篇主要你演示C3p0使用文件配置和不使用文件配置的两种操作方式

#######使用文件配置

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import com.dbutil.zyz.ConnLink;
import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Demo1 {
//首先演示下C3p0不使用配置文件的连接数据库的方式static ConnLink connlink=new ConnLink();static Connection conn=null;static PreparedStatement pstmt=null;public static void main(String[] args) throws SQLException {try {//总体步骤配置如下,可以作为模板使用//1.创建datasourceComboPooledDataSource dataSource=new ComboPooledDataSource();//2.设置连接数据的信息dataSource.setJdbcUrl("jdbc:mysql://localhost/test");dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setUser("root");dataSource.setPassword("root");//得到连接对象conn=dataSource.getConnection();String sql="insert into blank values(null,?,?)";pstmt=conn.prepareStatement(sql);pstmt.setString(1, "test");pstmt.setInt(2,2000);pstmt.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally{connlink.relese(conn, pstmt);}}    
}

 

########不使用文件配置

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Demo2 {//下面开始演示使用配置文件的C3p0用法static ConnLink connlink=new ConnLink();static Connection conn=null;static PreparedStatement pstmt=null;public static void main(String[] args) throws SQLException {//就new了一个对象。在这种情况下c3p0会直接找到c3p0-config.xml文件//并且在c3p0-config.xml文件中默认的找到 default-config配置try {ComboPooledDataSource dataSource=new ComboPooledDataSource();//2.得到连接对象conn=dataSource.getConnection();String sql="insert into blank values(null,?,?)";pstmt=conn.prepareStatement(sql);pstmt.setString(1, "root");pstmt.setInt(2,20000);pstmt.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally{connlink.relese(conn, pstmt);}}
}

 

其中配置文件的信息如下(文件名称不可以更改)

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost/test</property><property name="user">root</property><property name="password">root</property><property name="initialPoolSize">5</property><property name="maxPoolSize">20</property></default-config><named-config name="oracle"> <property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///web_07</property><property name="user">root</property><property name="password">123</property></named-config></c3p0-config>

 

注意:代码中的释放调用代码如下

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class ConnLink {
//数据库的连接部分public String jdbc_driver="com.mysql.jdbc.Driver";public String jdbc_conn="jdbc:mysql://localhost:3306/test";public String user="root";public String pass="root";//返回连接函数的部分public Connection getConn() throws SQLException, ClassNotFoundException{//1.注册驱动
        Class.forName(jdbc_driver);//2.获取连接Connection connection=DriverManager.getConnection(jdbc_conn,user,pass);return connection;}//释放连接资源的部分public void relese(Connection conn,PreparedStatement pstmt) throws SQLException{if(pstmt!=null) pstmt.close();if(conn!=null) conn.close();}
}

 

 

#####数据库变化如下

 

转载于:https://www.cnblogs.com/byczyz/p/11349052.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里P8大佬亲自教你!java程序设计第四版pdf

前言 最近有很多朋友去目前主流的大型互联网公司面试&#xff08;阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴&#xff09;&#xff0c;面试回来之后会发给我一些面试题。有些朋友轻松过关&#xff0c;拿到offer&#xff0c;但是有一些是来询问我答案的。 我特意整理了一下&am…

阿里P8大佬亲自讲解!朝阳java培训

开头 Spring框架自诞生以来一直备受开发者青睐&#xff0c;有人亲切的称之为&#xff1a;Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新&#xff0c;很多研发人员把spring看作心目中最好的Java项目&#xff0c;没有之一。 **可以毫…

大厂offer手到擒来,Java面试真题精选

前言 事务我们都知道是什么&#xff0c;而Spring事务就是在数据库之上利用AOP提供声明式事务和编程式事务帮助我们简化开发&#xff0c;解耦业务逻辑和系统逻辑。但是Spring事务原理是怎样&#xff1f;事务在方法间是如何传播的&#xff1f;为什么有时候事务会失效&#xff1f…

大厂也在用的6种数据脱敏方案,醍醐灌顶!

前言 由于作者面试过程中高度紧张&#xff0c;本文中只列出了自己还记得的部分题目。 经历了漫长一个月的等待&#xff0c;终于在前几天通过面试官获悉已被蚂蚁金服录取&#xff0c;这期间的焦虑、痛苦自不必说&#xff0c;知道被录取的那一刻&#xff0c;一整年的阴霾都一扫…

大牛带你直击优秀开源框架灵魂,给大家安排上!

前言 微架构的出现&#xff0c;很好地适应了这个时代对快速发展变化的要求。它不再提倡一体化的项目设计&#xff0c;而是对项目进行有效的“业务区”(可以简单理解为不同的子系统〉划分&#xff0c;并利用合理的技术对业务性能做出提升和改善&#xff0c;同时又极大地简化了配…

大牛用SSM框架实现了支付宝的支付功能,满满干货指导

前言 现在刷抖音经常可以看到一些老外街坊&#xff0c;问他们最想把什么带回自己的国家&#xff0c;我听过很多的回答都是&#xff1a;淘宝&#xff0c;支付宝&#xff0c;美食&#xff0c;微信&#xff0c;外卖&#xff0c;高铁等等。 确实如此&#xff0c;随着国家的快速发…

java---Listener Filter知识点学习

##Listener > 监听器 * 能做什么事&#xff1f; > 监听某一个事件的发生。 状态的改变。 * 监听器的内部机制 > 其实就是接口回调. ####接口回调 * 需求&#xff1a; > A在执行循环&#xff0c;当循环到5的时候&#xff0c; 通知B。 > 事先先把一个对象传递给 …

头条三面技术四面HR,就是这么简单

前言 看日期&#xff0c;今天都是4月了&#xff0c;这春招也差不多进入尾声了。 近期任有不少朋友都在找工作&#xff0c;很多人开始抱怨&#xff0c;工作可真难找啊&#xff01;身边不少朋友问我咋搞呀&#xff0c;秋招都要结束了&#xff0c;工作还没着落呢…额…这个…今年…

如何保证Redis与数据库的双写一致性?进阶加薪全靠它!

我有话要说&#xff0c;请仔细看完 我发现一个现象&#xff0c;很多开发5年的程序员仍然停留在crud的阶段&#xff0c;这是什么原因&#xff1f; 最主要的原因就是基础很差&#xff0c;尤其对于JVM和并发编程这方面掌握的比较差&#xff0c;而JVM和并发编程就是非常非常重要的…

如何保证redis高可用?薪资翻倍

前言&#xff1a; 首先介绍一下我的同学&#xff0c;专科毕业应用电子技术专业&#xff0c;已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行&#xff0c;身为他的“好基友”&#xff0c;他觉得我这个工作挺好的&#xff0c;就咨询了我一下&#xff0c;经…

Linux中强大的输入输出重定向和管道

Linux中有三个最重要的输入输出流: Standard Input(STDIN) - 通常指键盘的输入 Standard Output(STDOUT) - 通常指显示器的输出 Standard Error(STDERR) - 通常也是重定向到显示器 默认情况下&#xff0c;分别是0表示标准输入(stdin),1表示标准输出(stdout),2表示标准错误。 参…

如何保证消息队列的高可用?透彻分析源码

前言 成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力&#xff1a;编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。 这几种能力之间的关系大概如下图。编程能力、调试能力和编…

如何化身BAT面试收割机?不吃透都对不起自己

前言 多线程相对于其他 Java 知识点来讲&#xff0c;有一定的学习门槛&#xff0c;并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低&#xff08;还不如单线程去运行&#xff09;或者死锁程序挂掉等等问题&#xff0c;所以掌握了解多线程至关重要。…

Tensorflow2.0开启,从此忘记1.*版本

1.可使用GPU&#xff0c;提升上百倍的效率 2.可自动求导 3.内置神经网络API 使用cast&#xff0c;可以转换成相应的类型 转载于:https://www.cnblogs.com/ningxinjie/p/11412653.html

如何在面试中通过工厂模式来给自己加分?逆袭面经分享

拼多多三面惨败&#xff0c;java中间件、数据库与spring框架&#xff0c;答不上… 面试开火箭&#xff0c;工作拧螺丝…月初有个朋友面试拼多多&#xff0c;一面自信满满过了&#xff0c;结果三面却惨败…昨天朋友约我出来讨论问题在哪里&#xff0c;三面就答不上了&#xff0…

Hibernate学习笔记(一)

####1.1Hibernate框架的学习路线第一天&#xff1a;Hibernate的入门&#xff08;Hibernate的环境搭建、Hibernate的API、Hibernate的CRUD&#xff09;第二天&#xff1a;Hibernate的一级缓存、其他的API第三天&#xff1a;Hibernate的一对多配置、Hibernate的多对多的配置…

北理工爬虫课程学习记录

Requests post方法如果提交字典会被存到form下&#xff0c;如果直接提交字符串&#xff0c;会被存到data下 put方法和post类似&#xff0c;只不过他会覆盖原始数据 ###各个方法的使用### 13个 访问参数 url修改的字段 //模拟浏览器进行访问 //模拟不同的IP地址对这个网站进行访…

Hibernate学习笔记(二)

Hibernate概述&#xff1a; 什么是Hibernate:是一个持久层的ORM的框架 什么是ORM: ORM:对象关系映射,指的是将一个java中的对象与关系型数据库中的表建立一种映射关系&#xff0c;从而操作对象就可以完成数据库的相关操作为什么学习Hibernate 简化JDBC的开发 性能很好Hibernate…

Java-进阶:多线程1

目录 一、概述 二、Thread 类 三、创建线程&#xff1a;继承 Thread 类 四、创建线程&#xff1a;实现 Runnable 接口 五、线程优先级 六、线程的生命周期 七、同步代码块 一、概述 1. 进程和线程 进程&#xff1a;进程指正在运行的程序。线程&#xff1a;线程是进程中的一个…

Struts2学习笔记(一)--入门常见配置

Struts2框架的学习路线 l 第一天&#xff1a;Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写 l 第二天&#xff1a;Struts2的数据的封装、结果页面配置 l 第三天&#xff1a;Struts2的值栈和OGNL表达式 l 第四天&#xff1a;Struts2的标签库 Struts2…