网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.sub 方法.
.有关Applet无法在IE中显示问题的.
.KickJava.com 推出Java原代.
.分布式编程模式中的租约、事务和.
.用JBuilder9制作EXE文件不公开秘.
.用java中的canendal 如何计算两个.
.Aspectwerkz 2.0开发企业AOP快速.
.JAVA的反编译.
.用 Jython 构建 JUnit 测试包.
.利用UML序列图设计Java应用程序详.
.用Eclipse进行可视化Java界面设计.
.MIN_VALUE 属性.
.Java Socket编程(四) 重复和并.
.JBuilder制作音频播放程序.
.利用JAVA生成JPG缩略图.
.JVM结构基础(一).
.深入探讨EJB中新的消息驱动组件(.
.Eclipse Tanghan Plugin帮助文件.
.通过E-mail共享Java对象.
.Sun发布补丁 修复JRE七个高.

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

发表日期:2008-1-5


 

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;

    }

  }

 

}

 

 


上一篇:最好的Java程序员免费学习材料 人气:1283
下一篇:Java中调用外部命令 人气:880
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐