当前位置: 首页 > news >正文

怎么用net123做网站域名查询138ip

怎么用net123做网站,域名查询138ip,邵阳做网站的公司,php 网站迁移文章目录 1、druid连接MySQL2、编写JDBCUtils 工具类 1、druid连接MySQL 初学JDBC时,连接数据库是先建立连接,用完直接关闭。这就需要不断的创建和销毁连接,会消耗系统的资源。 借鉴线程池的思想,数据连接池就这么被设计出来了。…

文章目录

  • 1、druid连接MySQL
  • 2、编写JDBCUtils 工具类

1、druid连接MySQL

初学JDBC时,连接数据库是先建立连接,用完直接关闭。这就需要不断的创建和销毁连接,会消耗系统的资源。

借鉴线程池的思想,数据连接池就这么被设计出来了。

什么是连接池?
连接池是在程序初始化的时候,预先创建好指定数量的数据库连接对象,存储与连接池中,需要用的时候就去取,用完还回来。数据库连接池就是为数据库的连接建立一个“缓冲区”,预先在“缓冲池”中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲区”中取出,使用完毕后再放回去,这样就不会有频繁的创建和销毁,从而节省系统的资源。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。

对比传统的数据库连接,有以下缺点:

  • 普通JDBC使用DriverManager来获取,每次向数据库建立连接都将Connection加载到内存,执行完毕后再断开,这样会消耗大量的时间和资源,数据库的连接资源并没有被很好的利用,若同时几百人甚至几千人在线,频繁的进行数据库连接操作会占用很多资源,严重甚至会造成服务器的崩溃。
  • 每一次连接后都要断开,否则,程序会出现异常没能及时关闭会导致数据库系统中的内存泄露(java 内存泄露)
  • 不能控制被创建的连接对象,系统资源会毫无顾忌的分配出去,如连接过多,可能会导致服务器崩溃。

数据库连接池有以下优点:

  • 提高程序响应速度,减少创建连接的响应时间
  • 减低资源的消耗,可以重复使用以及提供数据库的连接
  • 便于管理

连接池市面上有很多,有druid(德鲁伊)、c3p0、dbcp……
其中 c3p0 和 dbcp 是国外的,druid 是国内常用的,是阿里巴巴做的一个开源技术,性能很好,如今全世界的Java程序员都可以使用。

使用步骤:
1、导入druid.jar包!!!;
2、创建一个 Properties 形式的配置文件,可以放在 src 目录下;
3、获取数据库连接池对象,通过工程的一个类来获取:DruidDataSourceFactory;
4、获取连接;

例程1 —— druid 数据线程池连接数据库,并遍历数据库的数据:

package com.test;import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid.pool.DruidDataSourceFactory;public class Test {public static void main(String[] args) throws Exception {//加载配置文件Properties pro = new Properties();InputStream is = Test.class.getClassLoader().getResourceAsStream("druid.properties");pro.load(is);//获取连接池对象DataSource ds = DruidDataSourceFactory.createDataSource(pro);//获取连接Connection con = ds.getConnection();//遍历数据库Statement stmt = con.createStatement();ResultSet res = stmt.executeQuery("SELECT * FROM tb_student");try {while(res.next()) {int id = res.getInt("id");String studentNumber = res.getString("studentNumber");String name = res.getString("name");String gender = res.getString("gender");String classAndGrade = res.getString("classAndGrade");String politicsStatus = res.getString("politicsStatus");String dateOfBirth = res.getString("dateOfBirth");String phone = res.getString("phone");String homeAddress = res.getString("homeAddress");System.out.print("序号:" + id + " ");System.out.print("学号:" + studentNumber + " ");System.out.print("姓名:" + name + " ");System.out.print("性别:" + gender + " ");System.out.print("班级:" + classAndGrade + " ");System.out.print("政治面貌:" + politicsStatus + " ");System.out.print("出生日期:" + dateOfBirth + " ");System.out.print("电话:" + phone + " ");System.out.print("家庭地址:" + homeAddress + " ");System.out.println();}}catch (Exception e) {System.out.println("遍历数据库失败,原因:");e.printStackTrace();}}
}
# druid.Properties文件配置备份# 加载驱动
driverClassName = com.mysql.cj.jdbc.Driver
# url
url = jdbc:mysql://localhost:3306/test1?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
# 用户名
username = root
# 密码
password = 123456
# 初始连接数
initialSize = 10
# 最小连接
minIdle = 5
# 最大连接
maxActive = 50
# 超时时间
maxWait = 5000

工程配置如下:
在这里插入图片描述
运行结果中,7月 12, 2024 8:46:46 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited解释如下:
在这里插入图片描述

成功使用 druid 连接 MySQL 后,为了方便数据库连接池的连接,可以定义一个 Druid 的工具类,该工具封装了获取连接,关闭连接的方法。

2、编写JDBCUtils 工具类

成功使用 druid 连接 MySQL 后,为了方便数据库连接池的连接,可以定义一个 Druid 的工具类,该工具封装了获取连接,关闭连接的方法。
JDBCUtils.java

package com.test;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid.pool.DruidDataSourceFactory;//Druid 连接池的工具类
public class JDBCUtils {//定义成员变量@SuppressWarnings("unused")private static DataSource ds;static {try {//加载配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//获取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (Exception e) {e.printStackTrace();}}//获取连接public static Connection getConnection() throws SQLException{return ds.getConnection();}//释放资源public static void close(ResultSet rs, Statement stmt, Connection conn) {if(rs != null) {try {rs.close();}catch (Exception e) {e.printStackTrace();}}if(stmt != null) {try {stmt.close();}catch (Exception e) {e.printStackTrace();}}if(conn != null) {try {conn.close();}catch (Exception e) {e.printStackTrace();}}}public static void close(Statement stmt, Connection conn) {close(null, stmt, conn);}
}

主方法:

package com.test;import java.sql.*;public class Test {public static void main(String[] args) throws Exception {Connection conn = null;Statement stmt = null;ResultSet res = null;try {//获取连接conn = JDBCUtils.getConnection();//查询遍历数据库stmt = conn.createStatement();res = stmt.executeQuery("SELECT * FROM tb_student");while(res.next()) {int id = res.getInt("id");String studentNumber = res.getString("studentNumber");String name = res.getString("name");String gender = res.getString("gender");String classAndGrade = res.getString("classAndGrade");String politicsStatus = res.getString("politicsStatus");String dateOfBirth = res.getString("dateOfBirth");String phone = res.getString("phone");String homeAddress = res.getString("homeAddress");System.out.print("序号:" + id + " ");System.out.print("学号:" + studentNumber + " ");System.out.print("姓名:" + name + " ");System.out.print("性别:" + gender + " ");System.out.print("班级:" + classAndGrade + " ");System.out.print("政治面貌:" + politicsStatus + " ");System.out.print("出生日期:" + dateOfBirth + " ");System.out.print("电话:" + phone + " ");System.out.print("家庭地址:" + homeAddress + " ");System.out.println();}}catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.close(res, stmt, conn);}}
}

工程结构:
在这里插入图片描述


文章转载自:
http://churlish.crhd.cn
http://nonrepresentational.crhd.cn
http://rubato.crhd.cn
http://uncombined.crhd.cn
http://dealation.crhd.cn
http://heteromorphy.crhd.cn
http://bathed.crhd.cn
http://sool.crhd.cn
http://manager.crhd.cn
http://voluntaryism.crhd.cn
http://stolidly.crhd.cn
http://toxemia.crhd.cn
http://quickstep.crhd.cn
http://emiction.crhd.cn
http://hypnosophy.crhd.cn
http://amphibolous.crhd.cn
http://mantuan.crhd.cn
http://captor.crhd.cn
http://emergence.crhd.cn
http://synaesthesia.crhd.cn
http://noetics.crhd.cn
http://unendowed.crhd.cn
http://bea.crhd.cn
http://volos.crhd.cn
http://hydrocracking.crhd.cn
http://congresswoman.crhd.cn
http://aerosol.crhd.cn
http://chastening.crhd.cn
http://ovotestis.crhd.cn
http://tabor.crhd.cn
http://compact.crhd.cn
http://heortology.crhd.cn
http://satang.crhd.cn
http://satiny.crhd.cn
http://jervis.crhd.cn
http://foretopmast.crhd.cn
http://heptanone.crhd.cn
http://muscleless.crhd.cn
http://harebell.crhd.cn
http://hyperaction.crhd.cn
http://chronometry.crhd.cn
http://linograph.crhd.cn
http://solidness.crhd.cn
http://draughty.crhd.cn
http://almacantar.crhd.cn
http://autohypnosis.crhd.cn
http://admetus.crhd.cn
http://oodbs.crhd.cn
http://synarchy.crhd.cn
http://nave.crhd.cn
http://unroot.crhd.cn
http://alleynian.crhd.cn
http://exomphalos.crhd.cn
http://orbiter.crhd.cn
http://evenminded.crhd.cn
http://inbreathe.crhd.cn
http://piquet.crhd.cn
http://kanazawa.crhd.cn
http://juke.crhd.cn
http://halma.crhd.cn
http://supplicatory.crhd.cn
http://technic.crhd.cn
http://asepticize.crhd.cn
http://paperhanging.crhd.cn
http://mhr.crhd.cn
http://psilanthropy.crhd.cn
http://uterine.crhd.cn
http://armature.crhd.cn
http://rivalrousness.crhd.cn
http://isospory.crhd.cn
http://hallowed.crhd.cn
http://frisian.crhd.cn
http://supercrat.crhd.cn
http://literaryism.crhd.cn
http://reuter.crhd.cn
http://canorous.crhd.cn
http://flattery.crhd.cn
http://biometrics.crhd.cn
http://coniform.crhd.cn
http://devotedly.crhd.cn
http://throttleable.crhd.cn
http://enteralgia.crhd.cn
http://sympathizer.crhd.cn
http://cavernicolous.crhd.cn
http://smew.crhd.cn
http://pallette.crhd.cn
http://christogram.crhd.cn
http://grassy.crhd.cn
http://saucer.crhd.cn
http://fabricator.crhd.cn
http://pancreas.crhd.cn
http://hydrolant.crhd.cn
http://stibium.crhd.cn
http://foment.crhd.cn
http://glulam.crhd.cn
http://trifoliate.crhd.cn
http://whomsoever.crhd.cn
http://hekate.crhd.cn
http://canto.crhd.cn
http://nantes.crhd.cn
http://www.15wanjia.com/news/78200.html

相关文章:

  • 合肥做网站公司自媒体软文发布平台
  • 专做网页的网站最近发生的新闻大事
  • sql做网站后台短视频seo搜索优化
  • 做网站主播要什么条件app开发软件
  • 石家庄城乡建设网站宁波seo排名公司
  • 个人网站域名后缀百度竞价点击神器奔奔
  • 做套现网站引擎seo优
  • 网站背景视频是怎么做的百度用户服务中心电话
  • 岚山网站建设报价一级消防工程师考试
  • 网站怎么做子分类营销网站建设软件下载
  • 房管局网站建设方案seo免费诊断电话
  • 什么是企业360优化大师安卓手机版下载安装
  • 企业建设门户网站有哪些河南郑州网站推广优化外包
  • 网站空间地址福州seo推广
  • 电商网站建设的相关内容站长平台
  • php .net做网站哪个好微信公众号推广方法有哪些
  • 吉林省住房和城乡建设厅网站官网韩国今日特大新闻
  • 手机怎么创建网址链接网站seo服务商
  • 查询网站空间商网络推广文案有哪些
  • 河北网站建设服务seo专业培训学费多少钱
  • 怎么看网站的收录青岛网站设计
  • 免费 网站 平台引擎seo如何优化
  • 天成信息网站建设自助建站平台seo自动优化软件
  • 专做定制网站建设东莞海外网络推广
  • 郯城做网站谷歌搜索广告优化
  • 西部数码 空间做2个网站百度推广登录平台官网
  • 网站建设系统服务机构排名网
  • 关注公众号在哪里查找天津网站优化软件
  • 网站建设推广重要性电商平台运营方案思路
  • 施工企业岗位证书有哪些seo自学网官方