| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 460 人关注过本帖
标题:数据库连接的小问题
收藏  订阅  推荐  打印

数据库连接的小问题

package dao;

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
*
* 加载驱动
*/
public class Driver extends HttpServlet {
   
    /**
    初始化数据库的驱动参数
    */
    private String driverClass;
    private String url;
    private String user;
    private String password;
   @Override
    public void init()
    {
        driverClass=getInitParameter("driverClass");
        url=getInitParameter("url");
        user=getInitParameter("user");
        password= getInitParameter("password");
    }

    public String getDriverClass() {
        return driverClass;
    }

    public String getUrl() {
        return url;
    }

    public String getUser() {
        return user;
    }

    public String getPassword() {
        return password;
    }
   
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author Administrator
*/

public class DBUtil {
   Driver driver = new Driver();
   private Connection conn = null;
  DBUtil()
  {
     if(conn==null){
        try {
      
            Class.forName(driver.getDriverClass());
            conn=DriverManager.getConnection(driver.getUrl(),driver.getUser(),driver.getPassword());
        } catch (Exception ex) {
            Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, ex);
          }
    }
  }
  public Connection getConnection()
  {
    return conn;
  }
      
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package dao;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import dao.DBUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author Administrator
*/
public class Test {
    public static void main(String args[])
    {

            DBUtil db = new DBUtil();
            try {

                java.sql.PreparedStatement ps = db.getConnection().prepareStatement("insert into class(name) values (?)");
                ps.setString(1, "张三");
                ps.executeUpdate();
                ps.close();
            } catch (SQLException ex) {
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            }
    }
}
为什么会插不进去 说有空指针

TOP

回复 1# 的帖子

你的driverClass, url, user,password根本就没有具体指出是什么???
去我论坛看下,里面有相关帖子!
Java Lover QQ Group : 64666806

TOP

同意楼上的.driverClass, url, user,password什么都没有,当然不能连上了

TOP

public void init()
    {
        driverClass=getInitParameter("driverClass");
        url=getInitParameter("url");
        user=getInitParameter("user");
        password= getInitParameter("password");
    }
抄书上的吧?你这样写的话,get方法返回的这几个应该都是空值.
这里的"driverClass","url","user","password"应该是根据你自己的驱动类名,URL,数据库用户名以及密码.

[ 本帖最后由 菜鸟也疯狂 于 2008-5-11 23:59 编辑 ]

TOP

你这么写应该是没有问题的,但是你要第一先看一下你在WEB.XML里面是否有配置这些参数

TOP

没值啊!

TOP

共有 459 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.083106 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved