方法一:
package jbdc;
import java.sql.*;
public class _1_JdbcDemo {
public static void main(String[] args) {
Connection conn = null;
Statement smt = null;
ResultSet rs = null;
try {//-------------------------------------------------------------------------------------------------连接操作
//加载数据库驱动
//加载数据库驱动通常使用 Class类的静态方法 forName()来实现,具体实现方式如下:
// Claas.forName ("DriverName");
//在上述代码中, DriverName就是数据库驱动类所对应的字符串,例如,要加载 MySQL数据库的驱动可以采用如下代码:
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("加载成功");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("加载失败");
e.printStackTrace();
}
String url = "jdbc:mysql://localhost:3306/market";//?useSSL=false
String username = "root";
String pwd = "root12345";
try {
//通过DriverManager获取数据库连接
//DriverManager中提供了一个getConnection()方法来获取数据库连接
conn = DriverManager.getConnection(url,username,pwd);//3个参数分别表示连接数据库的URL、登录数据库的用户名和密码
System.out.println("连接成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("连接失败");
e.printStackTrace();
}
try {//-------------------------------------------------------------------------------------------------查询操作
smt = conn.createStatement();//生成Statement对象(就是创建了一个容器)
String sql = "select * from user";
rs = smt.executeQuery(sql);//获得结果集
while(rs.next()) {
/*
//获取数据库表中的内容的方式1————————————通过位置进行获取,位置从1开始的
String id = rs.getString(1);
String name = rs.getString(2);
String password = rs.getString(3);
String role = rs.getString(4);
System.out.println(id+" "+name+" "+password+" "+role);
*/
//获取数据库表中的内容的方式2————————————通过表中的列名进行获取
String id = rs.getString("id");
String password= rs.getString("pwd");
String name = rs.getString("xm");
String role = rs.getString("role");
System.out.println(id+" "+password+" "+name+" "+role);
}
}catch(SQLException e) {
e.printStackTrace();
}finally {
if(rs!=null)
try {
rs.close(); //关闭资源
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(smt!=null)
try {
smt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
方法二:
package jbdc;
import java.sql.*;
public class _2_JdbcDemo2 {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//通过DriverManager获取数据库连接
String url = "jdbc:mysql://localhost:3306/market";//?useSSL=false
String username = "root";
String password = "root12345";
conn = DriverManager.getConnection(url,username,password);//3个参数分别表示连接数据库的URL、登录数据库的用户名和密码
//通过Connection对象获取Statement对象
stmt = conn.createStatement();
//使用Connection执行SQL语句
String sql = "select * from user";
rs = stmt.executeQuery(sql);
//操作ResultSet结果集
System.out.println("id | pwd | xm | role ");
while(rs.next()) {
int id = rs.getInt("id");//通过列名获取指定字段的值
String pwd = rs.getString("pwd");
String xm = rs.getString("xm");
String role = rs.getString("role");
System.out.println(id+" | "+pwd+" | "+xm+" | "+role);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//关闭连接,释放资源
if(rs!=null) rs.close();
if(conn!=null) conn.close();
if(stmt!=null) stmt.close();
}
}
}