jdbc连接mysql数据库失败的原因

//db.java
package com;
import java.sql.*;
import java.util.*;
import java.io.*;
public class db{

String url = "jdbc:mysql://localhost/jsp?useUnicode=true&characterEncoding=gb2312";
String userName = "root";
String password = "123456";
Connection conn = null;
Statement stmt;
ResultSet rs;
/**
*@初始化操作,包括给变量赋初值和连接数据库
*/
public db(){

//连接数据库
stmt = null;
rs = null;

try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException ex) {
System.out.println("加载驱动器类时出现异常");
}

try{
conn = DriverManager.getConnection(url, userName, password);

}catch(SQLException ex) {
System.out.println("出现SQLException异常");
}

if(conn != null){
System.out.println("连接成功");
}

}
/**
*@对数据库执行sql执行语句,主要是插入和更新操作,返回一个布尔值变量
*/
public boolean exeSql(String strSql){
try{
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
return true;
}catch(Exception ex){
//打印出异常信息
System.out.println(ex.toString());
return false;
}
}
/**
*@对数据库执行sql查询语句,返回一个ResultSet类型的对象
*/
public ResultSet exeSqlQuery(String strSql){
try{
stmt=conn.createStatement();
rs =stmt.executeQuery(strSql);
}catch(Exception ex){
//打印出异常信息
System.out.println(ex.toString());
rs = null;
}
return rs;
}
}
连接失败,大虾帮忙看一下

第1个回答  推荐于2018-03-20
package com.extranauts.shixun2.m.db.tools;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class DBUtils {
private static Properties p = new Properties();
private static DBUtils d = new DBUtils();
static{
try {
p.load(d.getClass().getResourceAsStream("init.properties"));
} catch (IOException e) {
System.out.println("配置文件不存在" + e.getMessage());
}
}
public static Connection getConnection() {
Connection con = null;
// 加载配置文件

// 提取配置文件中的项
// 读取配置文件中的数据库连接项
String ip = p.getProperty("ip").trim();
String dbtype = p.getProperty("dbtype").trim();
String dbname = p.getProperty("dbname").trim();
String port = p.getProperty("port").trim();
String username = p.getProperty("username").trim();
String password = p.getProperty("password").trim();
// 判断链接数据库的种类
if (dbtype.equalsIgnoreCase("mysql")) {
// 创建链接
try {
Class.forName("org.gjt.mm.mysql.Driver");
} catch (ClassNotFoundException e) {
System.out.println("mysql驱动未找到" + e.getMessage());
}
StringBuffer s = new StringBuffer();
s.append("jdbc:mysql://");
s.append(ip);
s.append(":");
s.append(port);
s.append("/");
s.append(dbname);
s.append("?user=");
s.append(username);
s.append("&password=");
s.append(password);
s.append("&useUnicode=true&characterEncoding=gb2312");
// myDB为数据库名
try {
con= DriverManager.getConnection(s.toString());
} catch (SQLException e) {
System.out.println("数据库连接项不正确" + e.getMessage());
}
}
if (dbtype.equalsIgnoreCase("sqlserver")) {
// 创建链接
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
System.out.println("sqlserver驱动未找到" + e.getMessage());
}
StringBuffer s = new StringBuffer();
s.append("jdbc:microsoft:sqlserver://");
s.append(ip);
s.append(":");
s.append(port);
s.append(";DatabaseName=");
s.append(dbname);

// mydb为数据库
try {
con= DriverManager.getConnection(s.toString(),username,password);
} catch (SQLException e) {
System.out.println("数据库连接项不正确" + e.getMessage());
}
}
// if (dbtype.equals("oracle")) {
//// 创建链接
// try {
// Class.forName("oracle.jdbc.driver.OracleDriver");
// } catch (ClassNotFoundException e) {
// System.out.println("oracle数据库驱动未找到" + e.getMessage());
// }
// String url="jdbc:oracle:thin:@"+ip+":"+port+":"+dbname;
//// orcl为数据库的SID
// try {
// con= DriverManager.getConnection(url,username,password);
// } catch (SQLException e) {
// System.out.println("数据库连接项不正确" + e.getMessage());
// }
// }

return con;
}

public static void close(Connection con,PreparedStatement pstam , ResultSet rs){
if(con != null){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pstam != null){
try {
pstam.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

没顾上看你的 这是我以前用过的本回答被网友采纳
第2个回答  2014-06-16
public
static Connection getConnection(){

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Connection conn=null;

try {

conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/user?useEncode=true&characterEncoding=utf-8","root","root");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

有没有报错?追问

//判断是否成功保存注册资料
if(rand.equals(input) && users.add_user()){
%>
注册成功

注册失败,请稍后重试");
}
}
%>
是不是 javabean无法对数据库users表 进行操作?

追答

可以吧。你数据库里没有插进去数据吗?如果数据库中插进去了,那就证明你页面判断出错啦。如果你没有插进去数据,那你就看看从页面除过来的数据有没有值,一步一步的判断,定位出错误你才能解决,现在这个你说的太模糊了,你只是显示注册失败,或许你servlet里面的值没有传到jsp中呢。

本回答被提问者采纳
相似回答