public class JDBCTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
1 加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
2 获取连接
String username = "root";//用户名
String password = "root";//密码
/*
url参数用来确定连接的数据库信息: 数据库机器ip 端口号port 数据库名db_name 连接的参数,比如编解码集、时区...
url格式:jdbc:mysql://ip:port/db_name?k=v参数 ,只需要了解url的组成,不需要记忆
*/
String url = "jdbc:mysql://localhost:3306/baizhi?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai";
Connection conn = DriverManager.getConnection(url, username, password);//通过DriverManager管理驱动获取连接
3 准备发送SQL的工具
String sql = "select * from t_person";
PreparedStatement pstm = conn.prepareStatement(sql);
4 发送执行SQL
ResultSet rs = pstm.executeQuery();
5 处理结果集(如果有)
while(rs.next()){
/*
rs.getXxx(列顺序从1开始) 或者 rs.getXxx("列名") 获取指定列的数据,Xxx为数据类型
实战中多使用列名,可读性强
*/
int personId1 = rs.getInt("person_id");
String personName1 = rs.getString("person_name");
int age1 = rs.getInt("age");
String sex1 = rs.getString("sex");
String mobile1 = rs.getString("mobile");
String address1 = rs.getString("address");
System.out.println("personId="+personId1+",personName="+personName1
+",age="+age1+",sex="+sex1+",mobile="+mobile1+",address="+address1);
int personId2 = rs.getInt(1);
String personName2 = rs.getString(2);
int age2 = rs.getInt(3);
String sex2 = rs.getString(4);
String mobile2 = rs.getString(5);
String address2 = rs.getString(6);
System.out.println("personId="+personId2+",personName="+personName2
+",age="+age2+",sex="+sex2+",mobile="+mobile2+",address="+address2);
}
6 释放资源(反序关闭:后出现先关闭)
rs.close();
pstm.close();
conn.close();
}
}