服务热线:13616026886

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

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

下面是工具类中的数据库访问类 mysql

package util;

/*
 * date:   2004-11-17
 * author:zhangyu6050;
 * todo: 一个数据库封装类,作用是:
 *                      获取数据库连接
 *                      通过接受的sql语句选择数据库并且返回结果
 *       期间要作出以下判断:1 如果sql用来查询:、、、、
 *           2 如果sql用来update:、、、、
 *
 * bugs:
 * 改进:实现接口:sqlquery;
 *      主要继承一些比如error,success等的常量!
 */
//package util;

import java.util.list;
import java.sql.*;
  public class mysql {
 

    private string dirvername=configs.dirvername;
    private string url=configs.url;
    private string password=configs.password;
    private string username=configs.username;
    private connection conn = null;
    private statement stmt = null;
    private preparedstatement prepstmt = null;
 
    public mysql(){ 
        try {
            getdatasource();
            stmt=conn.createstatement();
        } catch (sqlexception e) {
            system.out.print("conn.createstatement()发生错误!");
            e.printstacktrace();
        }
    }
   public mysql(string query){
    init(query);
   }

    protected void init(string aqurey){
        try {
            stmt=conn.createstatement();
            preparestatement(aqurey);
        } catch (sqlexception e) {
            system.out.print("conn.createstatement()发生错误!");
            e.printstacktrace();
        }

    }
    //这个方法是准备创建一个mysql对象后再调用,但我发现最好用单态从新设计!!!!改成静态方法
   
  
    //设置?为变量的值--string类型
    public void setstring(int index, string value) throws sqlexception {
        prepstmt.setstring(index, value);
    }
    public void preparestatement(string sql) throws sqlexception {
        prepstmt = conn.preparestatement(sql);
      }
    public void close() throws sqlexception{
        if(prepstmt!=null) prepstmt.close();
        if(stmt!=null) prepstmt.close();
    }
    public resultset executequery() throws sqlexception {
        if (prepstmt != null) {
          return prepstmt.executequery();
        } else
          return null;
      }
    public void getdatasource(){
        try {
            class.forname(dirvername);
            conn=drivermanager.getconnection(url,username,password);

        } catch (exception e) {
            //连接发生错误!
            system.out.print("连接发生错误!");
            e.printstacktrace();
        }
    }
   
}

扫描关注微信公众号