服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用单例模式实现的java连接mysql数据库

 

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 + "/" + database +

        "?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;

    }

  }

 

}

 

 

扫描关注微信公众号