JDBC连接数据库的基本流程
String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
Class.forName(JDBC_DRIVER);
/*
useUnicode=ture&charactorEncoding=utf-8 设置utf8字符集
serverTimezone=UTC 设置时区(数据库的时区与JVM的时区不一致)
*/
String URL = "jdbc:mysql://localhost:3306/edu_servlet?useUnicode=ture&charactorEncoding=utf-8&serverTimezone=UTC";
//数据库的用户名
String USER = "root";
//数据库的密码
String PASS = "123456";
Connection connection = DriverManager.getConnection(URL, USER, PASS);
Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。
使用Connection
的createStatement()
方法创建Statement对象
Statement statement = connection.createStatement();
`
a.Statement对象的executeUpdate()方法
通过executeUpdate()方法用来数据的更新,包括插入和删除等操作
增:
String string = "insert into user_msg value ('44444','8855','上海','333')";
statement.executeUpdate(string);
删:
将名字为string
的数据删除
String string = "44444";
String s = "delete from user_msg where user_name='" + string + "'";
statement.executeUpdate(s);
改:
String stringTel = "44444444";
String stringName = "90";
String s = "update user_msg set user_tel ='4444' where user_name = '90';"
statement.executeUpdate(s);
b.Statement对象的executeQuery()方法
查:
通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到 ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行, 然后将数据以列号或者字段名取出。
String s = "select *from user_msg";
//返回一个ResultSet类型
ResultSet resultSet = statement.executeQuery(s);
遍历resultSet
使用resultSet
的getString
(参数值为列的序号)方法遍历一列的字段值
while (resultSet.next()) {
String s1 = resultSet.getString(1);
String s2 = resultSet.getString(2);
String s3 = resultSet.getString(3);
}
用String接收每一列的数据。实现了查询可以简单的打印输出。至于按格式打印表头以及数据库表的算法较为复杂,此处不做演示