[英]Using database mysql in Java
我已经开始尝试一些东西,以便可以将mysql数据库与Java一起使用。 首先,我对此有一些疑问。
我在PHP开发中经常使用mysql,但从未在Java中使用过。 我可以使用MAMP带来的MySQL,还是必须单独安装它?
第二..我已经在一个教程的帮助下创建了此代码,但是我得到的唯一输出是
com.mysql.jdbc.Driver
我用于此的代码可以在下面找到:
package Databases;
import java.sql.*;
public class MysqlConnect{
/* These variable values are used to setup
the Connection object */
static final String URL = "jdbc:mysql://localhost:3306/test";
static final String USER = "root";
static final String PASSWORD = "root";
static final String DRIVER = "com.mysql.jdbc.Driver";
public Connection getConnection() throws SQLException {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, USER, PASSWORD);
}
catch(ClassNotFoundException e) {
System.out.println(e.getMessage());
System.exit(-1);
}
return con;
}
public void getEmployees() {
ResultSet rs = null;
try {
Statement s = getConnection().createStatement();
rs = s.executeQuery("SELECT id, name, job_id, location FROM person");
System.out.format("%3s %-15s %-7s %-7s%n",
"ID", "NAME", "JOB ID",
"LOCATION");
System.out.format("%3s %15s %7s %7s%n",
"---", "---------------",
"-------", "--------");
while(rs.next()) {
long id = rs.getLong("id");
String name = rs.getString("name");
long job = rs.getLong("job_id");
String location = rs.getString("location");
System.out.format("%-3d %-15s %7d %5s%n",
id, name, job, location);
}
}
catch(SQLException e) {
System.out.println(e.getMessage());
System.exit(-1);
}
}
}
它来自以下块:
catch(ClassNotFoundException e) {
System.out.println(e.getMessage());
System.exit(-1);
}
那是处理异常的一种很差的方法。 您只是在打印异常消息。 您不知道发生了什么事。 而是直接将其抛出 (最终将得到一个不错的堆栈跟踪),或者仅在异常消息旁边打印出更具描述性的消息,例如
catch(ClassNotFoundException e) {
System.out.println("JDBC driver class not found in runtime classpath: " + e.getMessage());
System.exit(-1);
}
如何解决特定的异常又实际上是第二个问题(有很明显的答案:只要把含在运行时类路径JDBC驱动程序类JAR文件),但ALA,你会发现这个迷你型的教程有帮助,那么: 连接的Java到MySQL数据库 。
与具体问题无关 ,我不确定您在那儿读的是哪篇教程,但是我会一丁点儿地接受它。 除了不良的异常处理之外,它还通过从不关闭结果集,语句和连接来泄漏getEmployees()
方法中的数据库资源。 这绝对也不是一个好习惯。 前面的迷你教程中已经介绍了如何执行此操作。 另请参见: 在JDBC中应多久关闭一次Connection,Statement和ResultSet?
是的,您需要在本地或远程安装MySQL服务器。
如果您还从MySQL下载页面下载了jdbc Driver jar,则该代码将可用。 并且您使用正确的用户名和密码配置了MySQL实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.