用单例模式实现的java连接MySql数据库
2004-12-18 16:47
423 查看
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
package com.adrop.util;
import java.sql.*;
public class DBManager {
//用户名
private String user = "";
//密码
private String password = "";
//主机
private String host = "";
//数据库名字
private String database = "";
//private DBManager dbm=null;
/*
private String url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312";
*/
private String url ="";
private Connection con = null;
Statement stmt;
/**
* 私有的构造方法,保证外部不能实例化,只能由DBManager自己能提供自
* 己的实例,并且只能有一个。
* 根据主机、数据库名称、数据库用户名、数据库用户密码取得连接。
* @param host String
* @param database String
* @param user String
* @param password String
*/
private DBManager(String host, String database, String user, String password) {
this.host = host;
this.database = database;
this.user = user;
this.password = password;
//显示中文
this.url = "jdbc:mysql://" + host + "/" + databas
4000
e +
"?useUnicode=true&characterEncoding=GB2312";
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch (ClassNotFoundException e) {
System.err.println("class not found:" + e.getMessage());
}
try {
con = DriverManager.getConnection(this.url, this.user, this.password);
//连接类型为ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch (SQLException a) {
System.err.println("sql exception:" + a.getMessage());
}
}
/**
* 静态工厂方法,来获得一个DBManager实例
*/
public static DBManager getInstance(String host, String database, String user, String password){
if(dbm==null){
dbm=new DBManager(host,database,user,password);
}
return dbm;
}
/**
* 返回取得的连接
*/
public Connection getCon() {
return con;
}
/**
* 执行一条简单的查询语句
* 返回取得的结果集
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
/**
* 执行一条简单的更新语句
* 执行成功则返回true
*/
public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
return v;
}
}
}
package com.adrop.util;
import java.sql.*;
public class DBManager {
//用户名
private String user = "";
//密码
private String password = "";
//主机
private String host = "";
//数据库名字
private String database = "";
//private DBManager dbm=null;
/*
private String url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312";
*/
private String url ="";
private Connection con = null;
Statement stmt;
/**
* 私有的构造方法,保证外部不能实例化,只能由DBManager自己能提供自
* 己的实例,并且只能有一个。
* 根据主机、数据库名称、数据库用户名、数据库用户密码取得连接。
* @param host String
* @param database String
* @param user String
* @param password String
*/
private DBManager(String host, String database, String user, String password) {
this.host = host;
this.database = database;
this.user = user;
this.password = password;
//显示中文
this.url = "jdbc:mysql://" + host + "/" + databas
4000
e +
"?useUnicode=true&characterEncoding=GB2312";
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch (ClassNotFoundException e) {
System.err.println("class not found:" + e.getMessage());
}
try {
con = DriverManager.getConnection(this.url, this.user, this.password);
//连接类型为ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch (SQLException a) {
System.err.println("sql exception:" + a.getMessage());
}
}
/**
* 静态工厂方法,来获得一个DBManager实例
*/
public static DBManager getInstance(String host, String database, String user, String password){
if(dbm==null){
dbm=new DBManager(host,database,user,password);
}
return dbm;
}
/**
* 返回取得的连接
*/
public Connection getCon() {
return con;
}
/**
* 执行一条简单的查询语句
* 返回取得的结果集
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
/**
* 执行一条简单的更新语句
* 执行成功则返回true
*/
public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
return v;
}
}
}
相关文章推荐
- java jdbc 连接mysql数据库 实现增删改查
- java实现连接mysql数据库单元测试查询数据项目分享
- java实现连接mysql数据库单元测试查询数据的实例代码
- mysql数据库的连接以及增删改查Java代码实现(PreparedStatement版)
- 【实现】Java连接MySQL数据库
- JAVA 利用JDBC连接MYSQL数据库以及增删改查的实现【学习笔记】
- java实现的连接oracle/mysql数据库功能简单示例【附oracle+mysql数据库驱动包】
- java实现Socket单工长连接模式
- Java进阶(二十五)Java连接mysql数据库(底层实现)
- Java连接MYSQL数据库的实现步骤
- java连接MySql数据库 实现用户登录功能
- java实现连接mysql数据库单元测试查询数据项目分享
- DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户
- Java JDBC连接MYSQL数据库教程(实现)
- Java连接MYSQL数据库的实现步骤
- 利用JDBC实现java与MySQL数据库的连接及相关操作
- Java连接MySQL数据库实现增删改查操作!
- 模式连接C实现PHP的mysql数据库连接池
- DbConnection.java实现简单的MySQL数据库连接
- 在java中实现MySql数据库连接