学校网站建设 应用情况,1688货源网一件代发女装,网站免费建,wordpress转移服务器后不能访问JDBC(Java DataBase Connectivity)就是用Java语言操作关系型数据库的一套API JDBC的步骤固定#xff0c;大体分为8个步骤#xff0c;以MySQL数据库为例
1.创建工程并导入驱动jar包
2.注册驱动
注册驱动的目的是告诉代码要执行哪一个jar包
Class.forName(com.mysql.jdbc.D…JDBC(Java DataBase Connectivity)就是用Java语言操作关系型数据库的一套API JDBC的步骤固定大体分为8个步骤以MySQL数据库为例
1.创建工程并导入驱动jar包
2.注册驱动
注册驱动的目的是告诉代码要执行哪一个jar包
Class.forName(com.mysql.jdbc.Driver); //不常用因为MySQL5之后的jar包里已经包含了所以使用时可以省略 3.获取数据库连接
Connection conn DriverManager.getConnection(urlusernamepassword);
其中url是固定写法为 jdbc:mysql://MySQL对应的ip:端口号/对应的数据库
例如 jdbc:mysql:127.0.0.1:3306/db1 4.定义SQL语句
String sql ;
5.获取执行SQL语句的对象
Statement stmt conn.createStatement();
6.执行SQL语句
int count stmt.executeUpdate(); stmt.executeQuery();
//count是执行SQL语句所受影响的行数
7.处理返回结果
8.释放资源
stmt.close();
conn.close(); 使用JDBC时要使用大量的API其中有DriverManagerConnectionStatementResultSet
PreparedStatement。
1.DriverManager驱动管理类主要用于 注册驱动 和 获取数据库连接。
2.Connection可以获取执行SQL的对象还可以管理事务 SQL注入就是通过操作输入用字符串拼接来修改事先定义好的SQL语句用来达到执行代码攻击服务器的效果 用异常处理机制来对事务进行管理。
3.Statement用来执行SQL语句 4.ResultSet结果集对象封装了DQL查询语句的结果因为是结果集所以获取查询结果时需要循环依次获取。 while(result.next()){ result.getXxx(参数);
}
5.PreparedStatement继承自Statement也就可以执行SQL语句但可以预防SQL注入即用问号替代参数 定义了PreparedStatement后就不用定义Statement了而且因为使用预编译对象获取连接时因为传入了SQL语句后期执行时便不需要再次传入SQL作为参数了。因为使用问号作为占位符则每次执行的SQL语句模板都一样只需要检查编译一次因此速度更快
-------------------------------------------------
数据库连接池 有了连接池就不用DriverManager来获取数据库连接了。
使用步骤导入jar包定义配置文件加载load配置文件获取数据库连接池对象获取连接