导航:首页 > 数据处理 > 如何查看jdbc数据库连接池连接数

如何查看jdbc数据库连接池连接数

发布时间:2023-01-02 12:56:37

Ⅰ java数据库连接池最大连接数最小连接数怎么设置

最大连接数:这个连接池最多能有几条连接,如果初始化的连接数没有了,用户可以创建,但是要给个判断不能超过最大连接数。
最小连接数:就是连接池初始化的连接(连接池初始化多少条连接)

// 设置最大连接数,(根据并发请求合理设置)。
config.setMaxTotal(100);
// 设置最大空闲连接数,(根据并发请求合理设置)
config.setMaxIdle(20);
// 多长空闲时间之后回收空闲连接
setMinEvictableIdleTimeMillis(60000);
// 设置最小空闲连接数或者说初始化连接数
config.setMinIdle(10);
// 设置最大等待时间
config.setMaxWaitMillis(500);
// 跟验证有关
config.setTestOnBorrow(true);
// 跟验证有关
config.setTestOnReturn(false);
// 启动空闲连接的测试
config.setTestWhileIdle(false);

Ⅱ 如何查看java程序的数据库连接数量

java链接数据库(mysql)---JDBC如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Test;
public class GetConnect {
private Connection conn; //Connection连接 导包(import java.sql.DriverManager;)在数据库中一般来说JDBC是SQL包
// 获得翻译官: 加载驱动
//加载驱动
static{//静态块:在所有方法包括构造函数之前,执行.

try {
Class.forName("com.mysql.jdbc.Driver");
// (驱动实现了接口)mysql-connector-java-5.1.22-bin.jar (jar包)JDBC接口的实现 是外部的 需要引入
//使用映射的方式,引入驱动。
//("com.mysql.jdbc.Driver")是驱动的入口在
//Driver是驱动的意思在mysql-connector-java-5.1.22-bin.jar (jar包)中com.mysql.jdbc包中有个Driver类
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//获得链接: 打通电话
@Test //junit的测试 测试方法,让它运行起来
//报错(Test下有红线),错误信息如何提醒:Ctrl+1(快捷键) 光标放在错误(test)上 Ctrl+1 添加JUnit jar包
//JUnit jar包 既:Add JUnit 4 library to the build path
//添加进去后进行测试:如图:(8--JUnit测试截图);测试成功报 绿线 否则 红线 如图:(8--JUnit测试截图)
public void getConnect() {

try {
/*url: 链接到哪一个数据库实例
* jdbc:mysql://IP或者localhost:3306/数据库名
* jdbc:(是个协议jdbc协议)mysql:(是个子协议) IP或者localhost(是个地址) 3306(端口号)
* user: 用户名
* password:登陆密码
*
*/
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
//java里面一切皆对象,com.mysql.jdbc.Driver是个驱动,也有对象 DriverManager驱动管理对象
// com.mysql.jdbc.Driver是入口,DriverManager管理这个入口
//getConnection获得链接,获得实例 返回值:Connection类型 conn获得的实例
//DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (conn!=null) {
System.out.println("链接成功!"); //getConnection这个实例--》conn到底获得了没有--》conn!=null 表示 获得了
} else {
System.out.println("链接失败!");
}
}
//写完代码之后让它运行的2种方式:1 使用传统main() 2 Junit 单元测试
// junit: 将"@Test"放在要执行的方法前,要求被测试的方法没有参数,没有返回值. 通常要求方法时public.

}

Ⅲ 怎样查看jndi连接池资源个数

JNDI的全称是java命名与目录接口(Java Naming and Directory
Interface),是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。我们可以把JNDI简单地理解为是一种将对象和名字绑定的技术,即指定一个资源名称,将该名称与某一资源或服务相关联,当需要访问其他组件和资源时,就需要使用JNDI服务进行定位,应用程序可以通过名字获取对应的对象或服务。

1.context.xml文件设置

数据源:Tomcat根目录\conf\context.xml文件(没有直接创建也可以)或者在JSP项目WebRoot目录下的META-INF目录中创建一个context.xml文件,添加Context节点,如下:

1 <Context>
2 <Resource name="jdbc/test" auth="Application" type="javax.sql.DataSource"
3 maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="1234"
4 driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.2.254:1433;DatabaseName=test" />
5 </Context>

name:指定Resource的JNDI名字。

auth:可以写成Container和Application。Container表示由容器创建Resource,Application表示由Web应用创建和管理Resource。

type:指定Resource所属的Java类名。

maxActive:指定数据库连接池中处于活动状态的数据库连接的最大数目。

maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0表示不受限制。

maxWait:指定数据库连接池中数据库连接处于空闲状态的最长时间(以毫秒为单位),超出这时间将会抛出异常。

username:指定连接数据库的用户名。

password:指定连接数据库的口令。

driverClassName:指定连接数据库的JDBC驱动程序。

url:指定连接数据库的URL。

2.web.xml文件的配置

在Web应用程序的WEB-INF/web.xml文件中的<web-app>节点下添加<resource-ref>元素,内容如下:

1 <web-app>
2 ...
3 <resource-ref>
4 <description>news DataSource</description>
5 <res-ref-name>jdbc/test</res-ref-name>
6 <res-type>javax.sql.DataSource</res-type>
7 <res-auth>Container</res-auth>
8 </resource-ref>
9 </web-app>

description:对所引用资源的说明。

res-ref-name:指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应。

res-type:指定所引用资源的类名字,与<Resource>元素中的type属性对应。

res-auth:指定管理所引用资源的Manager,与<Resource>元素中的auth属性对应。

3.在Web应用中添加数据库连接jar文件。

4.编写使用数据源和JNDI资源,创建采用数据库连接池Connection对象的SqlHelper.java文件(在helper包中创建的),代码如下:

1 package helper;
2 import java.lang.reflect.*;
3 import java.sql.*;
4 import java.util.*;
5
6 import javax.naming.Context;
7 import javax.naming.InitialContext;
8 import javax.naming.NamingException;
9 import javax.sql.DataSource;
10
11 public class SqlHelper {
12
13 private static Connection getConnection() throws ClassNotFoundException,
14 SQLException {
15 Connection conn = null;
16 try {
17 Context ctx = new InitialContext();
18 // 获取与逻辑名相关联的数据源对象
19 DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
20 conn = ds.getConnection();
21 } catch (NamingException e) {
22 // TODO Auto-generated catch block
23 e.printStackTrace();
24 } catch (SQLException e) {
25 // TODO Auto-generated catch block
26 e.printStackTrace();
27 }
28 return conn;
29 }
30
31 public static int executeNonQuery(String cmdText)
32 throws ClassNotFoundException, SQLException {
33 int result = -1;
34 Connection con = null;
35 PreparedStatement ps = null;
36 try {
37 con = getConnection();
38 ps = con.prepareStatement(cmdText);
39 result = ps.executeUpdate();
40 }catch (Exception e) {
41 System.out.println(e);
42 } finally {
43 close(con, ps, null);
44 }
45 return result;
46 }
47
48 public static int executeScalar(String cmdText) throws SQLException,
49 ClassNotFoundException {
50 int result = -1;
51 Connection con = null;
52 PreparedStatement ps = null;
53 ResultSet rs = null;
54 try {
55 con = getConnection();
56 ps = con.prepareStatement(cmdText);
57 rs = ps.executeQuery();
58 if (rs.next()) {
59 result = rs.getInt(1);
60 }
61 }catch (Exception e) {
62 System.out.println(e);
63 } finally {
64 close(con, ps, rs);
65 }
66 return result;
67 }
68
69 public static <T> List<T> executeList(Class<T> cls, String cmdText)
70 throws ClassNotFoundException, SQLException,
71 InstantiationException, IllegalAccessException {
72 List<T> list = new ArrayList<T>();
73 Connection con = null;
74 PreparedStatement ps = null;
75 ResultSet rs = null;
76 try {
77 con = getConnection();
78 ps = con.prepareStatement(cmdText);
79 rs = ps.executeQuery();
80 while (rs.next()) {
81 T obj = executeResultSet(cls, rs);
82 list.add(obj);
83 }
84 } catch (Exception e) {
85 System.out.println(e);
86 }finally {
87 close(con, ps, rs);
88 }
89 return list;
90 }
91
92 public static <T> T executeEntity(Class<T> cls, String cmdText)
93 throws SQLException, ClassNotFoundException,
94 InstantiationException, IllegalAccessException {
95 T obj = null;
96 Connection con = null;
97 PreparedStatement ps = null;
98 ResultSet rs = null;
99 try {
100 con = getConnection();
101 ps = con.prepareStatement(cmdText);
102 rs = ps.executeQuery();
103 while (rs.next()) {
104 obj = executeResultSet(cls, rs);
105 break;
106 }
107 } catch (Exception e) {
108 System.out.println(e);
109 }finally {
110 close(con, ps, rs);
111 }
112 return obj;
113 }
114
115 private static <T> T executeResultSet(Class<T> cls, ResultSet rs)
116 throws InstantiationException, IllegalAccessException, SQLException {
117 T obj = cls.newInstance();
118 ResultSetMetaData rsm = rs.getMetaData();
119 int columnCount = rsm.getColumnCount();
120 // Field[] fields = cls.getFields();
121 Field[] fields = cls.getDeclaredFields();
122 for (int i = 0; i < fields.length; i++) {
123 Field field = fields[i];
124 String fieldName = field.getName();
125 for (int j = 1; j <= columnCount; j++) {
126 String columnName = rsm.getColumnName(j);
127 if (fieldName.equalsIgnoreCase(columnName)) {
128 Object value = rs.getObject(j);
129 field.setAccessible(true);
130 field.set(obj, value);
131 break;
132 }
133 }
134 }
135 return obj;
136 }
137
138 private static void close(Connection con, PreparedStatement ps, ResultSet rs)
139 throws SQLException {
140 if (rs != null) {
141 rs.close();
142 rs = null;
143 }
144 if (ps != null ) {
145 ps.close();
146 ps = null;
147 }
148 if (con != null) {
149 con.close();
150 con = null;
151 }
152 }
153 }

View Code

5.搭建entity,dal,bll包。(三层是从net开发转过来的,也可以使用do包,包)。

6.JSP页面使用代码如下:

1 <%@ page language="java" import="java.util.*,bll.*,entity.*" pageEncoding="UTF-8"%>
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3 <html>
4 <head>
5 <title>采用数据源和JNDI资源方式,创建并使用数据库连接池对象访问数据库实例。</title>
6 </head>
7 <body>
8 <div>
9 <h1>采用数据源和JNDI资源方式,创建并使用数据库连接池对象访问数据库实例。</h1>
10 <%
11 List<Student> list = StudentBLL.Select();
12 for (Student student : list) {
13 out.println(String.format(
14 "<ol><li>StudentId:%d</li><li>StudentName:%s</li><li>Phone:%s</li><li>Email:%s</li><li>Address:%s</li></ol>",
15 student.getStudentId(), student.getStudentName(),
16 student.getPhone(), student.getEmail(),
17 student.getAddress()));
18 }
19 %>
20 </div>
21 </body>
22 </html>

View Code

7.如果Context文件中auth属性设置为:Container,需要将数据库连接的jar文件复制到Tomcat的lib目录下。如果auth属性设置为:Application,则不需要复制到Tomcat的lib目录下。

8.部署运行界面大功告成。

Ⅳ JDBC连接oracle 查看oracle连接数

关于Oracle的数据库的知识,北京51培训特别开设了网络免费课程,如果有问题可以当时就问,这样比查询起来更加方便。只是提供参考。

Ⅳ 如何查看mysql数据库连接池信息

1、把数据库驱动包 到 %CATALINA_HOME%\common\lib 下。

2、修改 %CATALINA_HOME%\conf\server.xml 文件,在 <Host> 节点下添加:

XML/HTML code?

<!-- appName 为项目名 --!>
<Context path="/appName" docBase="appName" auth="Container">
<Resource name="jdbc/MySQLDS" scope="Shareable"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&charact-erEncoding=GBK"
driverClassName="com.mysql.jdbc.Driver"
username="root" password="111111"
maxWait="3000" maxIdle="100" maxActive="10" />
</Context>

(或者在 %appName%\META-INF 下建立 context.xml,内容为上面的代码。)

3、修改 web.xml,在 <web-app> 节点下添加:

XML/HTML code?

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class DBUtil {

public Connection getConnection() throws Exception {
Context context = new InitialContext();

// 获取数据源
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/MySQLDS");

// 获取数据库连接
Connection conn = ds.getConnection();

if (conn != null && !conn.isClosed()) {
return conn;
} else {
return null;
}
}

}

阅读全文

与如何查看jdbc数据库连接池连接数相关的资料

热点内容
新乡哪个驾校招聘信息 浏览:924
唐桥水果批发市场怎么走 浏览:777
如何转行程序猿 浏览:316
技术控制措施主要有哪些 浏览:980
1kb写多少程序 浏览:178
合法的股市交易平台有哪些 浏览:347
怎么打开mp4文件修改程序 浏览:681
如何进入专利代理公司 浏览:926
速度与时间图像渗透哪些信息 浏览:850
facebook如何复制聊天信息 浏览:89
和cookie相近的技术有哪些 浏览:608
一个美发师技术不好怎么办 浏览:472
怎么代理国际快递 浏览:101
深圳如何补贴电子产品 浏览:198
十佳代理记账要多少费用 浏览:442
手游问道交易时元宝买什么最划算 浏览:428
河北衡水哪里有收藏品交易市场 浏览:51
怎么看网上高铁票上的信息 浏览:568
柚子数据查征信收多少钱 浏览:280
公示信息如何隐藏股东名字 浏览:867