- 浏览: 1068372 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
/*
*
*/
package com.util;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.DataSource;
import org.logicalcobwebs.proxool.ProxoolFacade;
// import java.util.*;
// import org.logicalcobwebs.proxool.*;
/**
* remark: 用于连接数据源,并提供基本的数据读取与操作方法
*
* @author: date:
* @version: v1.0
*
* upd_remark: upd_user: upd_date:
*/
public class DataBase {
Properties properties_Base = new Properties();
private static String driver;
private static String url;
private static String pwd;
String alias_Base = "";
String driverClass_Base = "";
String driverUrl_Base = "";
String url_Base="";
// 构造函数1
public DataBase() {
// this("boss_10", "boss_dev", "boss_dev2008");
//this("BOSSSITE", "boss118119", "111189boss");
}
// 构造函数2
public DataBase(String databaseName, String user, String password) {
}
// 数据库连接:用odbc直接连接或是由连接池进行管理
public Connection connect(String database) throws SQLException {
try {
return connectjdbcpool(database);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public Connection connectodbc(String database) throws SQLException {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*
if (database.equalsIgnoreCase("boss_229"))
return DriverManager.getConnection("jdbc:odbc:" + database,
"boss118119", "111189boss");
else
*/
return DriverManager.getConnection("jdbc:odbc:" + database,
"boss_dev", "boss_dev2008");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
}
}
/*public Connection connectjdbc(String database) throws Exception {
try {
return connectjdbcpool(database);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}*/
public Connection connectjdbc(String driver,String url,String user,String password) throws SQLException {
Connection con = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
}
return con;
}
public Connection connectjdbcpool(String database) throws Exception {
try {
return DriverManager.getConnection("proxool." + database);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 创建语句
public Statement createStatement(Connection conn) {
try {
return conn.createStatement(
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 取得记录集
public ResultSet getRS(Statement stmt, String SQL) throws SQLException {
return stmt.executeQuery(SQL);
}
// 执行SQL 语句
public void execute(Statement stmt, String SQL) throws SQLException {
stmt.execute(SQL);
}
// 取得记录集的行数。
public int getRowCount(ResultSet RS) {
int rowCount = 0;
try {
String rowStatus = "";
int preRow = 0;
if (RS.isBeforeFirst()) {
rowStatus = "isBeforeFirst";
} else {
if (RS.isAfterLast()) {
rowStatus = "isAfterLast";
} else {
rowStatus = "normal";
preRow = RS.getRow();
}
}
RS.last();
rowCount = RS.getRow();
if (rowStatus.equals("isBeforeFirst") || preRow == 0) {
RS.beforeFirst();
} else {
if (rowStatus.equals("isAfterLast")) {
RS.afterLast();
} else {
RS.absolute(preRow);
}
}
} catch (SQLException e) {
rowCount = 0;
}
return rowCount;
}
// 取得记录集的列数。
public int getColCount(ResultSet RS) {
int colCount = 0;
try {
ResultSetMetaData RSMD = RS.getMetaData();
colCount = RSMD.getColumnCount();
} catch (SQLException e) {
colCount = -1;
}
return colCount;
}
// 分页
public void absolutePage(ResultSet RS, int pageSize, int page) {
try {
RS.absolute(pageSize * (page - 1) + 1);
} catch (Exception e) {
}
}
// 从存储过程中得到返回值。
public int getReturnCode(CallableStatement callablestatement, boolean flag) {
int i = -1;
ResultSet resultset = null;
if (flag) {
try {
resultset = callablestatement.getResultSet();
resultset.next();
i = resultset.getInt(1);
} catch (SQLException _ex) {
i = -1;
} finally {
try {
resultset.close();
} catch (SQLException _ex) {
}
}
}
return i;
}
public void close(ResultSet rs, Statement stmt, Connection conn) {
try {
// if (!rs.isClosed())
// {
if (rs != null) {
rs.close();
}
// }
} catch (SQLException sqle) {
// System.out.print(sqle.getMessage());
} catch (Exception e1) {
e1.printStackTrace();
}
try {
// if (!stmt.isClosed() && stmt !=null)
if (stmt != null) {
// System.out.println("stmt");
//stmt = null;
stmt.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
try {
// if (!conn.isClosed() && conn !=null)
if (conn != null) {
// System.out.println("conn");
//conn = null;
conn.close();
}
} catch (Exception e3) {
e3.printStackTrace();
}
}
public String getTableFields(String DataBase, String Table) {
int rows = 0;
String fields = "";
try {
Connection DBConn = connect(DataBase);
Statement stmt = DBConn.createStatement();
String SQL = "select column_name as COLUMN_NAME,data_type as TYPE_NAME,"
+ "isnull(character_maximum_length,0) as COLUMN_SIZE,"
+ "des.COLUMN_DESC "
+ "from information_schema.columns isc "
+ "left join ( select sc.name as scname, sp.value as COLUMN_DESC "
+ "from sysproperties sp inner join syscolumns sc on sp.id = sc.id "
+ "and sp.smallid = sc.colid left join sysobjects so on so.id = sc.id "
+ "where so.name='"
+ Table
+ "' ) des on isc.column_name =des.scname "
+ "where table_name = '"
+ Table
+ "' order by ordinal_position asc ";
ResultSet RS = stmt.executeQuery(SQL);
while (RS.next()) {
fields += RS.getString("COLUMN_NAME") + ",";
// coltype+=RS.getString("TYPE_NAME")+",";
// colnumber+=RS.getString("COLUMN_SIZE")+",";
// clodesc+=RS.getString("COLUMN_DESC")+",";
rows++;
}
close(RS, stmt, DBConn);
// stmt.close();
// RS.close();
// DBConn.close();
if (rows == 0) {
return null;
} else {
return fields.substring(0, fields.length() - 1);
}
} catch (Exception e) {
return e.getMessage();
// e.printStackTrace();
}
}
public String getTableFields(String DataBase, String Table,
boolean TableFlag) {
int rows = 0;
String fields = "";
try {
Connection DBConn = connect(DataBase);
Statement stmt = DBConn.createStatement();
String SQL = "select column_name as COLUMN_NAME,data_type as TYPE_NAME,"
+ "isnull(character_maximum_length,0) as COLUMN_SIZE,"
+ "des.COLUMN_DESC "
+ "from information_schema.columns isc "
+ "left join ( select sc.name as scname, sp.value as COLUMN_DESC "
+ "from sysproperties sp inner join syscolumns sc on sp.id = sc.id "
+ "and sp.smallid = sc.colid left join sysobjects so on so.id = sc.id "
+ "where so.name='"
+ Table
+ "' ) des on isc.column_name =des.scname "
+ "where table_name = '"
+ Table
+ "' order by ordinal_position asc ";
ResultSet RS = stmt.executeQuery(SQL);
while (RS.next()) {
if (TableFlag)
fields += Table + "." + RS.getString("COLUMN_NAME") + ",";
else
fields += RS.getString("COLUMN_NAME") + ",";
// coltype+=RS.getString("TYPE_NAME")+",";
// colnumber+=RS.getString("COLUMN_SIZE")+",";
// clodesc+=RS.getString("COLUMN_DESC")+",";
rows++;
}
close(RS, stmt, DBConn);
// stmt.close();
// RS.close();
// DBConn.close();
if (rows == 0) {
return null;
} else {
return fields.substring(0, fields.length() - 1);
}
} catch (Exception e) {
return e.getMessage();
// e.printStackTrace();
}
}
public String getTableFieldsDesc(String DataBase, String Table) {
int rows = 0;
String fieldsdesc = "";
try {
Connection DBConn = connect(DataBase);
Statement stmt = DBConn.createStatement();
String SQL = "select column_name as COLUMN_NAME,data_type as TYPE_NAME,"
+ "isnull(character_maximum_length,0) as COLUMN_SIZE,"
+ "des.COLUMN_DESC "
+ "from information_schema.columns isc "
+ "left join ( select sc.name as scname, sp.value as COLUMN_DESC "
+ "from sysproperties sp inner join syscolumns sc on sp.id = sc.id "
+ "and sp.smallid = sc.colid left join sysobjects so on so.id = sc.id "
+ "where so.name='"
+ Table
+ "' ) des on isc.column_name =des.scname "
+ "where table_name = '"
+ Table
+ "' order by ordinal_position asc";
ResultSet RS = stmt.executeQuery(SQL);
while (RS.next()) {
// fields+=RS.getString("COLUMN_NAME")+",";
// coltype+=RS.getString("TYPE_NAME")+",";
// colnumber+=RS.getString("COLUMN_SIZE")+",";
fieldsdesc += RS.getString("COLUMN_DESC") + ",";
rows++;
}
close(RS, stmt, DBConn);
// stmt.close();
// RS.close();
// DBConn.close();
if (rows == 0) {
return null;
} else {
return fieldsdesc.substring(0, fieldsdesc.length() - 1);
}
} catch (Exception e) {
return e.getMessage();
// e.printStackTrace();
}
}
public ResultSet getTableDesc(String DataBase, String Table) {
try {
Connection DBConn = connect(DataBase);
Statement stmt = DBConn.createStatement();
String SQL = "select column_name as COLUMN_NAME,data_type as TYPE_NAME,"
+ "isnull(character_maximum_length,0) as COLUMN_SIZE,"
+ "des.COLUMN_DESC "
+ "from information_schema.columns isc "
+ "left join ( select sc.name as scname, sp.value as COLUMN_DESC "
+ "from sysproperties sp inner join syscolumns sc on sp.id = sc.id "
+ "and sp.smallid = sc.colid left join sysobjects so on so.id = sc.id "
+ "where so.name='"
+ Table
+ "' ) des on isc.column_name =des.scname "
+ "where table_name = '"
+ Table
+ "' order by ordinal_position asc";
ResultSet RS = stmt.executeQuery(SQL);
// DBConn.close();
if (RS == null) {
return null;
} else {
return RS;
}
} catch (Exception e) {
return null;
}
}
public static void maino(String[] args) throws SQLException {
DataBase db = null;
Connection conn = null;
Statement stmt = null;
ResultSet RS = null;
String SQL = "select getdate() as 'name' select Id, Name, children from V_DicBase where 1=1 ";
// db = new DataBase();
// System.out.println(db.getTableFields("jobcn_boss_base", "DicBase"));
// System.out.println(db.getTableFieldsDesc("jobcn_boss_base",
// "DicBase"));
try {
db = new DataBase();
// conn = db.connect("jobcn_boss_base");
// stmt = conn.createStatement();
// RS = stmt.executeQuery(SQL);
// RS=db.getTableDesc("jobcn_boss_base", "Menu");
// if(RS.next()) {
// System.out.println(RS.getString(1));
// }
// System.out.println(conn);
System.out.println(db
.getTableFields("jobcn_boss_hr", "Person_Main"));
db.close(RS, stmt, conn);
} catch (Exception sqle) {
sqle.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
// e.printStackTrace();
}
}
}
public Connection getPoolConnection(String poolName)
{
DataSource ds = null;
Connection conn = null;
try {
if((conn=connectjdbcpool(poolName))==null){
System.out.println("数据库:"+poolName+"连接池无法获取,将关闭连接池!");
ProxoolFacade.removeConnectionPool(poolName);
System.out.println("数据库:"+poolName+"连接池即将建立...");
registerjdbcpool(poolName,"2","1");
System.out.println("数据库:"+poolName+"连接池建立!");
return connectregister(poolName);
}
} catch (Exception e) {
conn = getConnection();
}
return conn;
}
public void registerjdbcpool(String database,String max,String min) {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
// Class.forName("com.mysql.jdbc.Driver");
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
properties_Base.setProperty("proxool.maximum-connection-count",max);
properties_Base.setProperty("proxool.minimum-connection-count", min);
properties_Base.setProperty("proxool.house-keeping-test-sql","SELECT top 1 id from Kindergarden8_mp3 ");
properties_Base.setProperty("user", "root");
properties_Base.setProperty("password", "root");
alias_Base = database;
driverClass_Base = "net.sourceforge.jtds.jdbc.Driver";
if(database.equals("mydb")){
driverUrl_Base = "jdbc:mysql://localhost:3306/"+database+";";
}
url_Base = "proxool." + alias_Base + ":" + driverClass_Base+ ":" + driverUrl_Base;
ProxoolFacade.registerConnectionPool(url_Base, properties_Base);
//return DriverManager.getConnection("proxool." + database);
} catch (Exception e) {
e.printStackTrace();
//return null;
}
}
public static Connection getConnection()
{
Connection con = null;
try {
con = DriverManager.getConnection(Config.con_url,Config.con_user,Config.con_pwd);
} catch (Exception e) {
e.printStackTrace();
//System.out.println("DataBase.getConnection:数据库连接错误!");
return null;
}
return con;
}
public Connection connectregister(String database) throws SQLException {
try {
return connectjdbcpool(database);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String args[]){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection connection=DriverManager.getConnection(
"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=chat", "sa", "");
Statement stmt =connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//ResultSet rs = stmt.executeQuery("exec T_GetUserMenuXml '', 'JCNEP0347','style'");
ResultSet rs = stmt.executeQuery("select top 1 Name from USER_INFO;");
rs.next();
System.out.println(rs.getString("Name"));//odbc
//System.out.println(rs.getBinaryStream(1));//odbc
//System.out.println(rs.getCharacterStream(1));
// System.out.println(RS.getCharacterStream(1));
// InputStream is =RS.getBinaryStream(1);
// //RS.getBinaryStream(1);//odbc
// InputStreamReader isr = new
// InputStreamReader(is,"UnicodeLittle");
// while ((c = isr.read()) != -1)
// {
// //System.out.println((char)c);
// sb.append((char)c);
// }
// sb.append(RS.getString(1));
// temp=RS.getString(1);
// temp=temp.getBytes("GBK");
// System.out.println("");
// System.out.println("");
// sb.append(temp);
stmt.close();
connection.close();
System.out.println("ok");
}catch(Exception ex){
ex.printStackTrace();
}
}
}
- DataBase.rar (3.5 KB)
- 下载次数: 4
发表评论
-
sqlserver 报表模板
2011-02-18 17:37 1075sqlserver 报表模板 -
java 获得各种时间
2011-02-15 22:48 1559import java.text.ParseException ... -
一个批量替换某文件夹下包含某字符串的工具
2010-12-08 17:09 1519一个批量替换文件的工具。非常的实用 -
Tree的工具类
2010-11-28 09:22 1223该类通过JSP页面提供的文件路径地址,列出该文件路径下的所有文 ... -
字符串过滤类(StrUtil)
2010-11-03 10:40 1545package com.jobcn.util; public ... -
日期时间处理类(DateUtil)
2010-11-03 10:39 1505/* * DataUtil.java * Created on ... -
日志记录类(将日志保存在一个文件中)
2010-11-03 10:36 1555package com.util; import java. ... -
一个用DOM4J来读取XML的工具类
2010-11-03 10:34 2571/* * XmlHandle.java * Created o ... -
datagrid
2010-10-12 08:13 1156一个从视图中选择数据然后打出列表的类. 使用方法,在JSP页 ... -
怎么将异常信息的内容记录到日志文件中
2010-09-26 09:06 1624工具类: package com.util; import ... -
MYECLIPSE6.0.1注册码
2010-09-25 08:06 912package test; import java.io. ...
相关推荐
Database4是一款功能强大的数据库连接工具,专为用户提供方便快捷的多数据库管理体验。这款软件支持多种类型的数据库连接,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL、SQLite等,让用户能够在一个统一的...
例如,Java中的JDBC(Java Database Connectivity)提供了一套API来创建数据库连接,执行SQL命令并处理结果集。 接下来,我们引入工厂模式。工厂模式的核心是定义一个创建对象的接口,让子类决定实例化哪一个类。...
// 假设这就是我们的数据库连接类 $db = new Database('localhost', 'username', 'password', 'database_name'); if (!$db->connect()) { die('连接失败: ' . $db->getError()); } // 执行查询 $result = $db->...
提供数据库的连接功能 Database connector
这些接口和类定义了如何打开、关闭数据库连接,执行SQL语句,处理结果集等操作。JDBC驱动程序是实现这些接口和类的具体数据库供应商提供的实现,比如Oracle JDBC驱动、MySQL Connector/J等。这些驱动通常以jar文件的...
SQL(Structured Query Language)和AS数据库连接类是两种不同的数据管理方式,它们各有优劣。这里我们将深入探讨SQL数据库和AS数据库连接类,以及如何进行比较。 首先,SQL数据库,全称为结构化查询语言数据库,是...
查看 SQL Server 数据库连接数的多种方法 SQL Server 数据库连接数是一个重要的性能指标,它可以帮助数据库管理员了解当前数据库的工作负载和性能。查看数据库连接数有多种方法,本文将介绍四种不同的方法来查看 ...
数据库工具Database4,各种数据库连接方便; 数据库工具Database4,各种数据库连接方便; 数据库工具Database4,各种数据库连接方便; 数据库工具Database4,各种数据库连接方便; 数据库工具Database4,各种数据库连接...
数据库连接池(database connection pool)是在 Java 中用于管理数据库连接的一种技术。它的主要目的是提高数据库连接的重用性和性能。在传统的数据库连接方式中,每次与数据库建立连接时都需要进行一系列的网络通信...
JDBC(Java DataBase Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问。JDBC 由一组用 Java 语言编写的类和接口组成。JDBC 可以完成三件事,即与数据库建立...
本文将深入探讨四种常见的数据库连接方式,分别是:JDBC(Java Database Connectivity)、ODBC(Open Database Connectivity)、连接池以及ORM(Object-Relational Mapping)框架。 1. JDBC(Java Database ...
本教程将聚焦于如何在C++中实现数据库连接,主要使用面向对象的方法,即通过创建一个连接类来处理数据库交互。我们将探讨MFC(Microsoft Foundation Classes)库,这是一个为Windows应用程序开发提供支持的C++库,它...
### 一、C#中的Database类设计 `Database.cs`类被设计用于封装与数据库交互的所有功能,包括但不限于连接数据库、执行查询、执行SQL语句以及检查数据是否存在等操作。此类的实现有助于简化代码结构,提高代码复用性...
在IT行业中,数据库连接是应用程序开发中的重要环节,特别是在使用Delphi这种强大的Windows应用程序开发工具时。Delphi提供了多种方式来连接和操作数据库,使得开发者能够灵活地选择适合项目需求的解决方案。以下将...
"VB如何与ACCESS数据库连接(多种方法总结)" VB如何与ACCESS数据库连接是VB开发中非常常见的一种操作。下面我们将总结三种不同的方法来实现VB与ACCESS数据库的连接。 方法一:使用 Database 对象 在 VB 中,我们...
这些类通常包含方法来建立、管理和关闭数据库连接,执行SQL查询,以及处理结果集。描述中的"一个资源文件,一个数据源连接文件和一个DBO处理文件"揭示了实现这一功能的三个关键组成部分。 1. **DBConnection.java**...
Derby数据库连接方法详解 Derby数据库连接方法是Java应用程序连接Derby数据库的主要方式。 Derby数据库是一种嵌入式关系数据库管理系统,可以嵌入到Java应用程序中,提供了一个轻量级、可靠的数据库解决方案。 ...
Delphi数据库连接池是一种高效的数据库资源管理技术,它允许应用程序在多用户环境下共享数据库连接,以提高性能并减少系统资源的消耗。连接池的核心思想是重用已建立的数据库连接,而不是每次需要时都创建新的连接,...