| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 843 人关注过本帖
标题:一个连接数据库的问题,愁死我了
取消只看楼主 加入收藏
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
 问题点数:0 回复次数:1 
一个连接数据库的问题,愁死我了

老是提示我空指针异常,不知道这样连接数据库是不是可以

请教下各位

数据库驱动代码如下
package dao;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBUtil
{
private static Connection conn;
public DBUtil(){}
static
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/things_store?

user=root");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}

public Connection getConn() {
return conn;
}
public static Connection getConnection()
{
return conn;
}
}

//被测试方法代码如下:
package dao;
import dao.CatalogDAO;
import dao.DBUtil;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import model.Catalog;
import model.Things;
public class CatalogDAOImpl implements CatalogDAO{

/** Creates a new instance of CatalogDAOImpl */
public CatalogDAOImpl() {
}

public void add(Catalog c) {
//DBUtil db = new DBUtil();
try {
PreparedStatement ps = DBUtil.getConnection().prepareStatement("INSERT INTO catalog(name) VALUES(?)");
ps.setString(1,c.getName());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public void update(Catalog c) {
//DBUtil db = new DBUtil();
try {
PreparedStatement ps = DBUtil.getConnection().prepareStatement("UPDATE catalog SET name=? WHERE id=?");
ps.setString(1,c.getName());
ps.setInt(2,c.getID());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {

ex.printStackTrace();
}
}

public void delete(Catalog c) {
//DBUtil db = new DBUtil();
try {
PreparedStatement ps = DBUtil.getConnection().prepareStatement("DELETE from catalog WHERE id=?");
ps.setInt(1,c.getID());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public Catalog get(int id) {
Catalog c = null;
//DBUtil db = new DBUtil();
PreparedStatement ps;
try {
c = new Catalog();
ps = DBUtil.getConnection().prepareStatement("SELECT * FROM catalog WHERE id=?");
ps.setInt(1,id);
ResultSet rs= ps.executeQuery();
if(rs.next())
{
c.setID(rs.getInt(1));
c.setName(rs.getString(2));
}
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return c;
}

public ArrayList getCatalog() {
ArrayList al = new ArrayList();
Statement s;
try {
s = DBUtil.getConnection().createStatement();
ResultSet rs= s.executeQuery("SELECT * FROM catalog");
while (rs.next())
{
Catalog c = new Catalog();
c.setID(rs.getInt(1));
c.setName(rs.getString(2));
al.add(c);
}
s.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return al; //按传说中的命名规则,应该改为result;
}

public ArrayList getThings(Catalog c) {
ArrayList al = new ArrayList();
//DBUtil db = new DBUtil();
PreparedStatement ps;
try {
ps = DBUtil.getConnection().prepareStatement("SELECT * FROM catalog WHERE id=?");
ps.setInt(1,c.getID());//设置第一个位置
ResultSet rs= ps.executeQuery();
while (rs.next())
{
Things thing = new Things();
thing.setID(rs.getInt(1));
thing.setTitle(rs.getString(2));
thing.setAuthor(rs.getString(3));
thing.setPrice(rs.getDouble(4));
thing.setContent(rs.getString(5));
thing.setPicture(rs.getString(6));
thing.setPostTime(rs.getDate(7));
thing.setClicks(rs.getInt(8));
al.add(thing);
}
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return al; //按传说中的命名规则,应该改为result;
}



}

搜索更多相关主题的帖子: 数据库 java import Connection 
2007-11-10 15:43
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 
没有,自己做实验要什么密码呀!
问题是,在我自己机器好使,拿到别的机器就不行了
郁闷
什么毛病呢?

坚持, 只因不原放弃.
2007-11-10 19:04
快速回复:一个连接数据库的问题,愁死我了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017316 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved