package com.xxdhb.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.sql.rowset.CachedRowSet;
import com.sun.rowset.CachedRowSetImpl;
public class DBConn {
private String url; // 存储SQLSever连接路径
private String serverName; // 存储机器的名称
private String portNumber; // 存储端口名称
private String databaseName; // 存储数据库名称
private String userName; // 存储用户名称
private String password; // 存储密码
/* 设置连接数据库相关参数 */
public DBConn(){
url = "jdbc:mysql://127.0.0.1:3306/Mysql";
serverName = "localhost";
portNumber = "3306";
databaseName = "magazine";
userName = "root";
password = "sa123";
}
/* 获取连接数据库路径并返回 */
private String getConnectionUrl() {
return url + serverName + ":" + portNumber + ";databaseName=" + databaseName + ";";
}
/* 获取Conncetion对象并返回 */
public Connection getConnection() {
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载Jdbc驱动程序
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Mysql",userName,password);
} catch (Exception e) {
e.printStackTrace();
System.out.println("getConnection()内部跟踪错误:"+ e.getMessage());
}
return con;
}
public static void main(String[] args) {
DBConn d=new DBConn();
Connection conn=d.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select * from nmm_msg";
try {
ps = conn.prepareStatement(sql);
System.out.println("~~~~~~~1111"+conn);//能输出
rs = ps.executeQuery(); //到这一步无法继续执行
System.out.println("~~~~~~~22222222"+conn);//无法输出
System.out.println(rs.next());
while(rs.next()){
System.out.println("~~~~~~~~");
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
到rs = ps.executeQuery();这一步无法继续执行获取数据,数据库中有数据,请哪个高手指点下,谢谢~~~~~急!!!!急!!!!!急!!!
1.已经确认能连接数据库,添加了编码characterEncoding=gbk都无法解决
2.com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'mysql.nmm_msg' doesn't exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1912)
at t.DBConn.main(DBConn.java:82)
对了我用的驱动是mysql-connector-java-5.1.7-bin,不知道有没有影响
3.我的Mysql数据库是5.0版本的