/**
*DBUtil.java
*连接数据库
*/
import java.io.*;
import java.sql.*;
import java.util.Properties;
public class Db {
private String driver;//定义驱动
private String url;//定义URL
private String user;//定义用户名
private String password;//定义密码
private Connection conn;//定义连接
private Statement stmt;//定义STMT
private ResultSet rs;//定义结果集
//构造函数,默认加裁配置文件为jdbc.driver
public Db(){
this("jdbc.properties");
}
//有参构造函数,传入路径Conf并用方法loadProperties进行加载,用setConn进行设置
public Db(String conf) {
loadProperties(conf);
setConn();
}
//返回Conn
public Connection getConn(){
return this.conn;
}
//传入参数路径Conf加载配置文件取得配置文件中的参数并设置为类变量的参数
private void loadProperties(String conf){
Properties props = new Properties();
try {
props.load(new FileInputStream(conf));//根据配置文件路径Conf加载配置文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
this.driver = props.getProperty("driver");//从配置文件中取得相应的参数并设置类变量
this.url = props.getProperty("url");
this.user = props.getProperty("username");
this.password = props.getProperty("password");
}
//implement the Connection
//设置CONN
private void setConn(){
try {
Class.forName(driver);
this.conn = DriverManager.getConnection(url,user,password);
} catch(ClassNotFoundException classnotfoundexception) {
classnotfoundexception.printStackTrace();
System.err.println("db: " + classnotfoundexception.getMessage());
} catch(SQLException sqlexception) {
System.err.println("db.getconn(): " + sqlexception.getMessage());
}
}
//执行插入
public void doInsert(String sql) {
try {
Statement statement = conn.createStatement();
int i = stmt.executeUpdate(sql);
} catch(SQLException sqlexception) {
System.err.println("db.executeInset:" + sqlexception.getMessage());
}finally{
}
}
//执行删除
public void doDelete(String sql) {
try {
stmt = conn.createStatement();
int i = stmt.executeUpdate(sql);
} catch(SQLException sqlexception) {
System.err.println("db.executeDelete:" + sqlexception.getMessage());
}
}
//执行更新
public void doUpdate(String sql) {
try {
stmt = conn.createStatement();
int i = stmt.executeUpdate(sql);
} catch(SQLException sqlexception) {
System.err.println("db.executeUpdate:" + sqlexception.getMessage());
}
}
//查询结果集
public ResultSet doSelect(String sql) {
try {
stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch(SQLException sqlexception) {
System.err.println("db.executeQuery: " + sqlexception.getMessage());
}
return rs;
}
/**
*关闭数据库结果集,数据库操作对象,数据库链接
@Function: Close all the statement and conn int this instance and close the parameter ResultSet
@Param: ResultSet
@Exception: SQLException,Exception
**/
public void close(ResultSet rs) throws SQLException, Exception {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
}
/**
*关闭数据库操作对象,数据库连接对象
* Close all the statement and conn int this instance
* @throws SQLException
* @throws Exception
*/
public void close() throws SQLException, Exception {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
}
//测试类
public static void main(String[] args){
try{
//根据传入配置路径构造类
Db db = new Db("src\\com\\struts\\properties\\jdbc.properties");
// db.loadProperties("src\\com\\struts\\properties\\jdbc.properties");
// System.out.print(db.driver);
//取得连接
Connection conn = db.getConn();
if(conn != null && !conn.isClosed()) {
System.out.println("連結成功");
ResultSet rs = db.doSelect("select * from usertable");
while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2)+":"+rs.getString(3));
}
rs.close();
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
//配置文件jdbc.properties
driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=qtliu
username=sa
password=sa
MySQL:
String Driver="com.mysql.jdbc.Driver"; //驱动程序
String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance();
Connection con=DriverManager.getConnection(URL,Username,Password);
Microsoft SQL Server 2.0驱动(3个jar的那个):
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加载数据可驱动
Connection con=DriverManager.getConnection(URL,UserName,Password); //
Microsoft SQL Server 3.0驱动(1个jar的那个): // 老紫竹完善
String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加载数据可驱动
Connection con=DriverManager.getConnection(URL,UserName,Password); //
Sysbase:
String Driver="com.sybase.jdbc.SybDriver"; //驱动程序
String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
Oracle(用thin模式):
String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法
String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance(); //加载数据库驱动
Connection con=DriverManager.getConnection(URL,Username,Password);
PostgreSQL:
String Driver="org.postgresql.Driver"; //连接数据库的方法
String URL="jdbc:postgresql://localhost/db_name"; //db_name为数据可名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
DB2:
String Driver="com.ibm.db2.jdbc.app.DB2.Driver"; //连接具有DB2客户端的Provider实例
//String Driver="com.ibm.db2.jdbc.net.DB2.Driver"; //连接不具有DB2客户端的Provider实例
String URL="jdbc:db2://localhost:5000/db_name"; //db_name为数据可名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
Informix:
String Driver="com.informix.jdbc.IfxDriver";
String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver"; //db_name为数据可名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
JDBC-ODBC:
String Driver="sun.jdbc.odbc.JdbcOdbcDriver";
String URL="jdbc:odbc:dbsource"; //dbsource为数据源名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
package utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBConnection {
static Connection conn=null;
static PreparedStatement ps=null;
static ResultSet rs=null;
static{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//静态方式取得链接
public static Connection getConn(){
String uname="sa";
String passwd="";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=qtliu";
try {
conn=DriverManager.getConnection(url,uname,passwd);
System.out.println("GetConnection success");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//释放资源
public static void release(){
if(rs!=null){
try {
rs.close();
System.out.println("rs Closed!");
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
System.out.println("ps Closed!");
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
System.out.println("conn Closed!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
=====================
package utils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestGetConn {
/**
* @param args
*/
public static void main(String[] args) {
Connection conn=DBConnection.getConn();
try {
Statement st=conn.createStatement();
String find="select *from qt";
ResultSet rs=st.executeQuery(find);
while(rs.next()){
System.out.println("name:"+rs.getString(2)+"\n");
System.out.println("passwd:"+rs.getString(3));
}
System.out.println();
DBConnection.release();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
SQLServer数据库工具类(DBUtil.java)JDBC连接数据库
DBUtil的类,在WEB开发当中有许多项目都需要用它,可以不用重复写,这样很方便
在Java编程中,数据库操作是不可或缺的一部分,尤其是在开发Web应用或者需要持久化数据的系统时。"java_DB的简单封装"这个主题主要涉及到如何通过Java对MySQL数据库进行基础的访问和操作封装,以便提高代码的复用性...
Oracle JDBC DbUtil 是一个用于简化Java应用程序与Oracle数据库交互的工具包。这个工具包通过提供便利的类和方法,使得开发者能够更高效地执行SQL语句、管理数据库连接以及处理结果集。在给定的文件中,我们可以看到...
java】【jun_activiti】【jun_ajax】 【jun_aliyun_sms】【jun_cron】 【jun_dao_hibernate】【jun_datasource】【jun_dbutil】【jun_designpattern】 【jun_distributed_session】【jun_email】【jun_executor】...
写好sql语句,调用该工具类内的方法,即可实现增删改查mysql数据库的操作。带有详细解释
在Java编程中,数据库操作是不可或缺的一部分,而`dbutil`通常是指用于简化数据库操作的工具包或类库。在本场景中,我们讨论的是如何使用Java与SQL Server进行连接,以及可能涉及到的XML配置文件的修改。下面将详细...
`DBUtil.zip` 包含了一个Java编写的数据库操作工具类,名为 `DBUtil`,它封装了基本的数据库CRUD(Create, Read, Update, Delete)操作,以简化开发过程,提高代码的可读性和可维护性。 `DBUtil` 类通常会提供以下...
带了一张全国地址数据的mysql单表版,DBUtil JDBC工具类 java封装的dao层,及测试类,可以直接用测试类测试查询,比如查询福建厦门几个区,福建三明几个县等等,可以用在用户注册页面地址数据的获取。
### Java开发DAO层的经典实现详解 #### 一、引言 在Java开发中,DAO(Data Access Object)层是用于处理数据库操作的关键组件之一。它主要负责与数据库进行交互,执行增删改查等基本操作,并将数据封装为实体对象...
2. Java源码:如DBUtil.java(数据库工具类)、UserService.java(用户服务类)等,用于数据库连接、SQL操作和业务逻辑处理。 3. 数据库脚本:如create_table.sql,用于创建用户表的SQL脚本。 4. 配置文件:如db....
DButiljsp连数据库工具类.超详细
Dbutil,全称为Apache Commons DbUtils,是一款由Apache软件基金会开发的开源Java工具包,它为JDBC(Java Database Connectivity)提供了一层简单的封装,旨在让数据库操作变得更加便捷且不易出错。DbUtil的设计目标...
DbUtil 对 JDBC 进行简单的封装,帮我们做了很多工作,省去很多重复冗余的代码。 但 DbUtil 对类的自动装载没有进行较好的封装 本demo实现了数据库中字段若为下划线分隔,...利用 resultSet 的元数据和 JAVA 的暴力反射
DBUtil工具类是Java开发中常见的一种设计,用于简化数据库操作,提高开发效率。它通常包含了一系列静态方法,可以执行SQL语句,处理结果集,进行数据库连接的创建、管理和关闭等。这样的工具类在DAO(数据访问对象)...