基本使用
什么是JDBC
JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API。即它是一种规范里面有相应的类或接口,不同的数据库去提供各自的实现。在使用时通过JDBC就能连接各种数据库了
JDBC连接
1.下载对应数据库平台提供的驱动包即实现包
2.放到项目中通过builder path加载包
3.加载驱动(我的是mysql-connector-java)
/* 旧版 */
Class.forName("com.mysql.jdbc.Driver");
/* 新版 */
Class.forName("com.mysql.cj.jdbc.Driver");
4.获取连接对象
/* url中写上地址端口还有要连接的数据库,新版必须得加上时区 */
String url = "jdbc:mysql://localhost:3306/mydb?serverTimeZone=Asia/Shanghai"
/* 用哪个用户连接 */
String userName = "root";
/* 用户密码 */
String password = "123456";
/* 传入这三个参数创建连接对象,需要做异常处理*/
Connection con = DriverManage.getConnection(url,userName,password);
执行DDL
1.通过连接对象来创建语句对象
String sql = "create table test(id int primary key,age int)";
Statament sta = con.createStatement();
sta.executeUpdate(sql);
2.用完需要关掉连接对象和语句对象
/* 注意先后 */
sta.close();
con.close();
执行DML
插入
String sql = "insert into test values(1,23)";
Statament sta = con.createStatement();
sta.executeUpdate(sql);
删除
String sql = "delete from test where id = 1";
Statament sta = con.createStatement();
sta.executeUpdate(sql);
修改
String sql = "update test set age = "18" where id = 1";
Statament sta = con.createStatement();
sta.executeUpdate(sql);
执行DQL
1.结果集
2.结果集常用方法
/* 游标执行一次往下移动一行,当有记录时返回true没了返回false */
next();
/* 去获取列字段的值 */
getInt(1) //当前游标指定行下,第一列的值
getInt("列名") // 当前游标指定行下,指定列名的列的值
getString(1)// 列的值的类型是int就用getInt,是字符就用getString()
3.获取表中指定行的信息
String sql = "select * from student where id = 1";
Statament sta = con.createStatement();
ResultSet result = sta.executeQuery(sql);
if(result.next()){
int a = result.getInt("id");
String b = result.getString("name");
int c = result.getInt("age");
System.out.println("id为"+a+",名字为"+b+",年龄为"+c);
}
4.获取多行记录
String sql = "select * from student";
Statament sta = con.createStatement();
ResultSet result = sta.executeQuery(sql);
List stu = new ArrayList();
while(result.next()){
Student stu = new Student();// Student类中属性对应着列字段,通过循环将一列一列的记录对象添加到列表
stu.setId(result.getInt("id"));
stu.setName(result.getString("name"));
stu.(result.getInt("age"));
stuList.add(stu);
}
总结
通过JDBC的基础操作可以完成用java代码对数据库进行各种增删查改的操作,但是我们每次操作都需要进行加载驱动、创建连接对象、创建语句模块、最后还要挨个关闭。这样对于只是做一条语句的执行太麻烦。我们可以对这些操作放到一个类中,通过调用类中对应的方法来执行想要的操作。