先创建一个数据库,数据表
步骤:
首先获得驱动,Driver
通过驱动管理DriverManager获得连接Connection conn
通过连接conn获得一个statement对象stmt
通过一个statement对象来操作sql语句
返回一个对象,就是一个查询的结果集ResultSet
通过ResultSet中的方法,依次输出这个结果
最后关闭资源
代码如下:
package databases;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class ConnMySql {
public static void main(String[] args) throws Exception {
// 1.加载驱动,使用反射的知识,现在记住这么写
Class.forName("com.mysql.jdbc.Driver");
// 使用DriverMannager获取数据库连接,其中返回的Connection就代表了java程序的数据库的连接,不同的数据库的url写发需要查询驱动文档知道,用户名和密码由dba分配的
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
// 使用Connection来创建一个Statement对象
Statement stmt = conn.createStatement();
// 4.执行sql语句
// Statement由三种执行sql语句的方法
ResultSet rs = stmt.executeQuery("select * from t_user");
// ResultSet有系列getXxx(列索引|列名),用于获取记录指针指向行、特定列的值。不断地使用next将记录指针下一一行,如果依然指向有效行,就指针指向行的记录
while (rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
// 关闭数据库资源
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
控制台输出如下:
改进方式1:
接下来进行一点改进:使用配置文件来存储连接数据库相关信息:
再我们的mysql.ini中:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
user=root
pass=root
sql=select * from t_user
对ConnMySql.java:
package databases;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
public class ConnMySql {
public static void main(String[] args) throws Exception {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String driver;
String url;
String user;
String pass;
String sql;
Properties props = new Properties();
props.load(new FileInputStream("E:/code/javaee_maven/bishiti/src/databases/mysql.ini"));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pass = props.getProperty("pass");
sql = props.getProperty("sql");
try {
// 1.加载驱动,使用反射的知识,现在记住这么写
Class.forName(driver);
// 使用DriverMannager获取数据库连接,其中返回的Connection就代表了java程序的数据库的连接,不同的数据库的url写发需要查询驱动文档知道,用户名和密码由dba分配的
conn = DriverManager.getConnection(url, user, pass);
// 使用Connection来创建一个Statement对象
stmt = conn.createStatement();
// 4.执行sql语句
// Statement由三种执行sql语句的方法
rs = stmt.executeQuery(sql);
// ResultSet有系列getXxx(列索引|列名),用于获取记录指针指向行、特定列的值。不断地使用next将记录指针下一一行,如果依然指向有效行,就指针指向行的记录
while (rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
} finally {
// 关闭数据库资源
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
控制台输出如: