1. 创建数据库源对象
DataSource dataSource = new MysqlDataSource();
作用:数据库源对象描述了要访问的数据库 是啥,在哪
DataSource:数据源,来自标准库JDBC的一个接口 import javax.sql.DataSource
new MysqlDatasouce ( ) :来自于Mysql驱动包,也就是我们往项目里导入的 jar包
这个运用了“多态”的思想
2. 设置URL/User/PassWord
((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/databaseName?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("SHANhaonan521");
((MysqlDataSource)dataSource):向下转型
setURL:URL是唯一定位资源符
jdbc:mysql:协议名称
127.0.0.1:3306:主机IP地址 和 端口号
databaseName:要访问的数据库(也就是create database出来的)
characterEncoding=utf8:设置客户端使用的字符集,要和服务器一致
useSSL=false:显式禁用SSL加密
3. 建立连接
Connection connection = dataSource.getConnection();
4. 构造要执行的SQL语句
//编写 要执行的语句 String sql = "select * from message"; //PrepareStatement 对sql语句进行解析,也就是执行前的解析操作 PreparedStatement statement = connection.prepareStatement(sql);
- PreparedStatement :(预处理语句)在客户端完成SQL语句的解析,降低数据库的压力。
- 通常这一个构造要根据实际情况,进行改变
5. 执行
//1. 第一种:删除修改语句使用,返回的值是这次SQL操作影响到的行数 int n = statement.executeUpdate(); //2. 第二种:查询语句使用,返回值是返回的临时表数据 ResultSet resultSet = statement.executeQuery();
ResultSet对象 被称为“结果集”,他代表复合SQL语句条件的所有行,可以通过getXXX方法对这些行的数据进行访问。如果要进行遍历可以使用 while (resultSet.next()) 进行遍历。例如:
while (resultSet.next()){ String name = resultSet.getString("name"); int age = resultSet.getInt("age"); }
6. 结束释放相关资源
1. resultSet.close(); 2. statement.close(); 3. connection.close();
注意关闭顺序