import java.sql.*;
public class Jdbc {
public static void main(String[] args) {
/**
* 放在上面是为了防止空指针异常
*/
Connection connection = null;//获取连接
PreparedStatement preparedStatement = null;//执行sql语句
ResultSet resultSet = null;//获取结果集对象
try {
//1、加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");//加载mysql的驱动,不同的数据库加载的不同
//2、通过驱动管理类获取数据库链接
/**
* DriverManager类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,
* 并在数据库的驱动程序之间建立连接.此外,DriverManager类中的方法都是静态方法,所以在程序中无须对它进行实例化,
* 直接通过类名就可以调用.DriverManager类的常用方法有getConnection(String url,String user,String password)方法,
*/
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/eesy?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "1234");
//3、定义sql语句 ?表示占位符 可以有多个?
String sql = "select * from user where username = ?";
//4、获取预处理statement
preparedStatement = connection.prepareStatement(sql);//获取传入的sql语句
//5、设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
preparedStatement.setString(1, "傻瓜");//注意,如果参数传的是Int,就setInt(,)
//6、向数据库发出sql执行查询,查询出结果集
resultSet = preparedStatement.executeQuery();//执行sql,返回结果集
//7、遍历查询结果集
while(resultSet.next()){
System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//8、释放资源,先进后出原则,最后一个关闭connection,防止空指针异常
if(resultSet!=null){
try {
resultSet.close();//释放结果集
} catch (SQLException e) {
e.printStackTrace();
}
}
if(preparedStatement!=null){
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();//关闭数据库连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
一起加油哦!!!