JDBC的使用及一些问题
JDBC的使用
- 加载数据库驱动
Class.forName(“com.mysql.jdbc.Driver”);
- 给用户信息和url赋值
String url = “jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false”;
String username = “root”;
String password = “123456”;
- 连接成功,获得数据库对象 connection代表数据库
Connection connection = DriverManager.getConnection(url, username, password);
- 创建执行sql的对象 statement
Statement statement = connection.createStatement();
String sql = “SELECT * FROM users”;
- 执行sql,返回结果集
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
System.out.println(“id=”+ resultSet.getObject(“id”));
System.out.println(“name=”+ resultSet.getObject(“NAME”));
System.out.println(“pwd=”+ resultSet.getObject(“PASSWORD”));
System.out.println(“email=”+ resultSet.getObject(“email”));
System.out.println(“birth=”+ resultSet.getObject(“birthday”));
}
- 释放连接
resultSet.close();
statement.close();
connection.close();
可能存在的问题和报错(mysql数据库)
- Sat Mar 07 01:47:21 CST 2020 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
错误原因:加粗部分未加上
String url=“jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false”;
- The last packet successfully received from the server was 1,238 milliseconds ago. The last packet sent successfully to the server was 1,231 milliseconds ago.
错误原因:加粗部分写成useSSL=true
String url=“jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false”;