当前数据库连接工具类没有问题,你现在需要通过如下步骤进行排查找出原因:
第一,ping数据库所在的地址IP,如果是本机可以ping127001。这是为了确认网络无故障,很多人都忽略了防火墙等等的问题导致数据库无法正常访问。
第二,使用MySql可视化工具连接数据库并且试图查询数据,看看是否可以正常访问数据库并且获取数据,该步骤为了确认数据库服务以及数据库是否成功开启。
第三,检查是否引入了驱动包,你引入的驱动类没有问题不代表程序就可以根据你的引入找到所对应的资源,资源来自于MySql驱动jar包。
第四,数据库连接字符串后面的转码等等东西去掉然后连接试试 。
1单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等2单例的缺点就是不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。用单例模式,就是在适用其优点的状态下使用。
汗颜了
看写的这代码 写了个demo 有注释 可以参考下
import javasqlConnection;
import javasqlDriverManager;
import javasqlSQLException;
public class ConnectMySQLDatabase {
public static final String URL = "jdbc:mysql://localhost:3306/test";
public static final String USER = "root";
public static final String PASSWORD = "root";
public static final String DRIVER_CLASS = "commysqljdbcDriver";
static {
try {
// 加载数据库驱动 在整个JVM里面 只需要执行一次就OK 所以一般设计成静态代码块里面
ClassforName(DRIVER_CLASS);
} catch (ClassNotFoundException e) {
eprintStackTrace();
}
}
/
工具类 都是静态方法 所以一般构造器私有
/
private ConnectMySQLDatabase() {
}
/
获得连接的方法
@return
@throws SQLException
/
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
conn = DriverManagergetConnection(URL, USER, PASSWORD);
return conn;
} catch (SQLException e) {
throw e;
}
}
/
测试方法
@param args
/
public static void main(String[] args) {
Connection conn = null;
try {
conn = ConnectMySQLDatabasegetConnection();
// do something what u want
} catch (SQLException e) {
eprintStackTrace();
} finally {
ConnectMySQLDatabaseclose(conn);
}
}
/
关闭数据库连接方法
@param conn
/
public static void close(Connection conn) {
if (null != conn) {
try {
connclose();
} catch (SQLException e) {
eprintStackTrace();
}
conn = null;
}
}
}
关于你提出的问题稍微解释下
调用ClassforName("orggjtmmmysqlDriver"); 这个方法 可能会throws出
javalangClassNotFoundException
所以得 try catch 一下 才能通过编译
DriverManagergetConnection(connStr, "root", "root");
这些异常同理
"一个项目下的JSP文件能用" 知道问什么能用吗
应为jsp编译成Servlet的时候 所有的异常都给throws了 不用显示的写try catch了
最后提个设计的建议
类似于这种 *** 作数据库的工具类
最好设计成全静态的方法 不用连次数据库就new个对象
That's all I want to say
以上就是关于java数据库连接ip变了全部的内容,包括:java数据库连接ip变了、用单例模式定义一个访问数据库的工具类DbUtil,并调用、如何用javaBean连接数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)