sqlserver数据库帮助类(sql数据库的使用)

网站建设 126
本篇文章给大家谈谈sqlserver数据库帮助类,以及sql数据库的使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 如何查出java中未关闭的数据库连接 import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;

本篇文章给大家谈谈sqlserver数据库帮助类,以及sql数据库的使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

如何查出java中未关闭的数据库连接

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库

public class DBUtil {

//第一步:声明你所需要的一些全局变量

private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)

static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常

}

}

//第三步:获取数据库连接

public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

//最后关闭数据库连接

public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {

if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接

rs.close();

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (pstmt!=null) {

pstmt.close();//关闭预编译对象

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (conn!=null) {

conn.close();//关闭结果集对象

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

 给你一个实例你看看,很简单的。

java连接数据库在什么位置关闭连接

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库

public class DBUtil {

//第一步:声明你所需要的一些全局变量

private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)

static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常

}

}

//第三步:获取数据库连接

public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

//最后关闭数据库连接

public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {

if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接

rs.close();

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (pstmt!=null) {

pstmt.close();//关闭预编译对象

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (conn!=null) {

conn.close();//关闭结果集对象

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

C#的DBUtility类有主要负责什么工作的

数据库操作帮助类包括sqlserver、oracle、mysql、access、sqlite,同时包括通用的分页函数,

如何通过DbProviderFactory 构建DBHelper帮助类

前一段时间在博客园中找到的一个工厂模式的数据库帮助类,具体是出自哪一位高人记不清楚了,现在Mark一下.

1、数据库类型枚举

复制代码

public enum DbProviderType : byte

{

SqlServer,

MySql,

SQLite,

Oracle,

ODBC,

OleDb,

Firebird,

PostgreSql,

DB2,

Informix,

SqlServerCe

}

复制代码

2、DbProviderFactory工厂类

复制代码

public class ProviderFactory

{

private static DictionaryDbProviderType, string providerInvariantNames = new DictionaryDbProviderType, string();

private static DictionaryDbProviderType, DbProviderFactory providerFactoies = new DictionaryDbProviderType, DbProviderFactory(20);

static ProviderFactory()

{

providerInvariantNames.Add(DbProviderType.SqlServer, "System.Data.SqlClient");

providerInvariantNames.Add(DbProviderType.OleDb, "System.Data.OleDb");

providerInvariantNames.Add(DbProviderType.ODBC, "System.Data.ODBC");

providerInvariantNames.Add(DbProviderType.Oracle, "Oracle.DataAccess.Client");

providerInvariantNames.Add(DbProviderType.MySql, "MySql.Data.MySqlClient");

providerInvariantNames.Add(DbProviderType.SQLite, "System.Data.SQLite");

providerInvariantNames.Add(DbProviderType.Firebird, "FirebirdSql.Data.Firebird");

providerInvariantNames.Add(DbProviderType.PostgreSql, "Npgsql");

providerInvariantNames.Add(DbProviderType.DB2, "IBM.Data.DB2.iSeries");

providerInvariantNames.Add(DbProviderType.Informix, "IBM.Data.Informix");

providerInvariantNames.Add(DbProviderType.SqlServerCe, "System.Data.SqlServerCe");

}

public static string GetProviderInvariantName(DbProviderType providerType)

{

return providerInvariantNames[providerType];

}

public static DbProviderFactory GetDbProviderFactory(DbProviderType providerType)

{

if (!providerFactoies.ContainsKey(providerType))

{

providerFactoies.Add(providerType, ImportDbProviderFactory(providerType));

}

return providerFactoies[providerType];

}

private static DbProviderFactory ImportDbProviderFactory(DbProviderType providerType)

{

string providerName = providerInvariantNames[providerType];

DbProviderFactory factory = null;

try

{

factory = DbProviderFactories.GetFactory(providerName);

}

catch (ArgumentException e)

{

factory = null;

}

return factory;

}

}

复制代码

3、数据库操作帮助类

复制代码

public sealed class DbHelper

{

public string ConnectionString { get; set; }

private DbProviderFactory providerFactory;

public DbHelper(string connectionString, DbProviderType providerType)

{

ConnectionString = connectionString;

providerFactory = ProviderFactory.GetDbProviderFactory(providerType);

if (providerFactory == null)

{

throw new ArgumentException("Can't load DbProviderFactory for given value of providerType");

}

}

********** 具体的ADO.NET操作方法略************

public int ExecuteNonQuery(string sql, IListDbParameter parameters)

public DbDataReader ExecuteReader(string sql, IListDbParameter parameters)

}

复制代码

4、数据库配置文件

复制代码

connectionStrings

add name="DARJUAN_DB" connectionString="data source=DARJUAN-PC;database=DARJUAN_DB;user id=***;password=***;connection reset=false;Timeout=120;connection lifetime=120; min pool size=20; max pool size=50" providerName="System.Data.SqlClient" /

/connectionStrings

复制代码

system.data

DbProviderFactories

add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /

add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /

add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /

add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /

add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /

add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /

add name="Informix Data Provider" invariant="IBM.Data.Informix" description=".Net Framework Data Provider for Informix" type="IBM.Data.Informix.IfxFactory, IBM.Data.Informix" /

add name="DB2 Data Provider" invariant="IBM.Data.DB2.iSeries" description=".Net Framework Data Provider for DB2 iSeries" type="IBM.Data.DB2.iSeries.DB2Factory, IBM.Data.DB2.iSeries" /

add name="Firebird Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description="Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" /

add name="Oracle Data Provider" invariant="Oracle.DataAccess.Client" description=".Net Framework Data Provider for Oracle" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess" /

add name="PostgreSQL Data Provider Data Provider" invariant="Npgsql" description=".Net Framework Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, System.Data" /

/DbProviderFactories

/system.data

java操作数据库的方式有哪些

JDBC是java数据库连接技术的简称,它提供了连接各种数据库的能力,这便使程序的可维护性和可扩展性大大的提高了.JDBC连接数据库常见的驱动方式有两种,一种是jdbc-odbc即桥连另外一种是纯java驱动.一般在做java开发的时候用第二种.so前一种我就不说了,纯java驱动方式连接步骤如下:

1.先把一个jdbc的jar包导入到项目(用MyEclipse开发)的lib中.

2.代码如下:

[c-sharp] view plain copy

import java.sql.*;

/**

* 连接数据库帮助类

* @author Administrator

*

*/

public class BaseDao {

private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";

private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=LibraryManageSystem";

private static final String USERNAME="sa";

private static final String PASSWORD="sa";

/**

* 连接数据库

* @return 数据库连接对象

* @throws ClassNotFoundException

* @throws SQLException

*/

public Connection getConn()throws ClassNotFoundException,SQLException{

Class.forName(DRIVER);

Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);

return conn;

}

/**

* 释放资源

* @param conn

* @param pstmt

* @param rs

* @throws SQLException

*/

public void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs)throws SQLException{

if(rs!=null){

rs.close();

}

if(pstmt!=null){

pstmt.close();

}

if(conn!=null){

conn.close();

}

}

/**

* 执行SQL语句,可以进行增、删、改的操作

* @param sql

* @return 影响条数

* @throws ClassNotFoundException

* @throws SQLException

*/

public int executeSQL(String sql)throws ClassNotFoundException,SQLException{

Connection conn = this.getConn();

PreparedStatement pstmt = conn.prepareStatement(sql);

int number = pstmt.executeUpdate();

this.closeAll(conn, pstmt, null);

return number;

}

}

从代码知道首先吧jdbc驱动类装载java虚拟机中,即Class.forName(DRIVER);其次加载驱动并建立于数据库的连接Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);;然后发送SQL语句并的到结果集.之后处理结果,最后要关闭数据库的连接,释放资源.当然我说的这样连接数据库的方式使用的软件是sql和MyEclipse.

使用配置文件来连接数据库,当然这样的连接需要进行一些配置.其实这样的连接用专业术语来说就是连接池,连接池是负责分配管理和释放数据库连接.它允许用用程序重复使用一个现有的数据库连接不再重复建立连接.释放空闲时间超过最大空闲时间的数据库连接以避免因为没有释放数据库而引起的数据库遗漏.

连接池的创建分为以下几个步骤:1.配置context.xml文件  这个文件是服务器(指tomcat)的一个conf文件夹中,拷贝出来放入项目的lib文件夹中,具体配置如下:

[c-sharp] view plain copy

Resource name="jdbc/book" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="20" maxWait="100" username="sa" password="sa"

driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

url="jdbc:sqlserver://localhost:1433;dataBaseName=book"

/在config.xml文件中加入Resource标签,然后对数据库信息进行配置,当然这个数据库指的也是sqlserver有疑问可以qq757966892联系

之后把数据库的驱动包,这里指的是sql2005的包放入服务器的lib中,这样以后如果在你自己的机子上都不用在重新导入这个包了.

然后就是从MyEclipse中取得这样的连接从而对数据库进行一些操作具体代码如下:

[c-sharp] view plain copy

package web.login.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;

public class BaseDao {

protected Connection conn;

protected PreparedStatement ps;

protected ResultSet rs;

protected String sql;

public Connection getConn(){

try {

Context context=new InitialContext();

DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/user");

return ds.getConnection();

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

public void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){

try {

if(rs!=null){

rs.close();

rs=null;

}

if(ps!=null){

ps.close();

ps=null;

}

if(conn!=null){

conn.close();

conn=null;

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

之后便可以建立业务类从而对数据库进行操作.

java 数据库关闭连接

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库

public class DBUtil {

//第一步:声明你所需要的一些全局变量

private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)

static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常

}

}

关于sqlserver数据库帮助类和sql数据库的使用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

友情链接