什么是JDBC?
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
简单来讲,假设Java是一个人,数据库是一杯奶茶,那么JDBC就是吸管,不过,这个吸管是万能的。
JDBC的使用
1、导入jar包
在java项目中导入jar包,首先我们要在项目中新建一个目录,目录与src文件夹在同一级。名字是lib。
然后将jar包copy到该目录下。
选择驱动包,右键add library
2、注册驱动
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
3、获得连接
//获得连接
String url = "jdbc:mysql://localhost:3306/库名";
String username = "帐号";
String password = "密码";
Connection conn = DriverManager.getConnection(url, username, password);
4、获得执行语句对象
//获得执行语句
Statement statement = conn.createStatement();
5、执行语句
ResultSet resultSet = statement.executeQuery("select * from student;");
6、处理结果
List<Student> list = new ArrayList<>();
while (resultSet.next()){
Student student = new Student();
student.setSid(resultSet.getInt("sid"));
student.setSname(resultSet.getString("sname"));
student.setScore(resultSet.getDouble("score"));
student.setCid(resultSet.getInt("cid"));
student.setSbirthday(resultSet.getDate("sbirthday"));
student.setZid(resultSet.getInt("zid"));
list.add(student);
}
7、释放资源
conn.close();
statement.close();
resultSet.close();
结果集取值的两种方式
下图是结果集包含数据的格式,结果集类似于一张虚拟表
1、根据下标取值
int empno = rs.getInt(1);
String ename = rs.getString(2);
double sal = rs.getDouble(3);
Date date = rs.getDate(4);
根据下标取值,取值的下标要和查询语句select后边的查询输出字段的顺序一致,否则会错乱。
2、根据列名取值
// 列名取值
int empno = rs.getInt("id");
String ename = rs.getString("name");
double sal = rs.getDouble("sal");
Date hiredate = rs.getDate("hiredate");
根据列名取值,要求输入的列名必须是数据表中包含的,先后顺序可以不一致,不会发生混乱。