数据库访问时通过JDBC实现的,它为开发人员提供了标准的API。
数据库连接的两种方法:一种是通过JDBC驱动程序直接连接数据库,另一种是通过连接池技术连接数据库
JDBC访问数据库步骤:
(1)注册驱动 1.1.1 将驱动程序mysql-connector-java-5.1.6-bin复制到web应用程序的WEB-INF\lib目录下
1.1.2 Class.forName("com.mysql.jdbc.Driver");
(2)建立连接
1.2.1 创建指定数据库的URL String url1="jdbc:mysql://localhost:3306/数据库名?user=root&password=123456"; (user和password都由开发者自行设置)
url=url1+"&useUnicode=true&characterEncoding=UTF-8"
1.2.2 利用连接符号实现连接,获取连接对象 Connection conn=DriverManager.grtConnection(url);
(3)创建数据库操作对象用于执行SQL的语句
1.3.1 创建statement对象 statement stmt = conn.createStatement();//是无参函数,只能利用内置方法执行SQl语句
或1.3.2 创建PrepareStatement对象
PreparedStatement pstmt=conn.preparedStatement("SQL语句")
1.3.2.1 需要传参时,SQL语句中用?占位,pstmt.setInt()或pstmt.setString()
(4)执行语句
1.4.1 Statement对象执行SQL语句
1.4.1.1 ResultSet executeQuery(String sql) 执行select语句,返回一个结果集
1.4.1.2 int executeUpdate(String sql) 执行update、insert、delete,返回一个整数,表示执行SQL语句影响的数据行数
或1.4.2 PreparedStatement对象执行SQL语句
1.4.2.1 ResultSet executeQuery() 执行select语句,返回一个结果集
1.4.2.2 int executeUpdate() 执行update、insert、delete,返回一个整数,表示执行SQL语句影响的数据行数
(5)处理执行结果
ResultSet对象是一个由查询结果构成的数据表
1.5.1 记录定位操作,如:first() next() last() previous() getRow() findColumn() close()
1.5.2 读取指定字段的数据操作 getXXX() 返回指定字段以java的XXX类型表示的字段值
1.5.3 修改指定字段的数据操作 updateXXX()
(6)释放资源
rs.close();
stmt.close();
con.close();
关闭对象的次序和创建对象的次序正好相反,
上述步骤d一般需要检测异常