JavaWeb之JDBC
2017-03-21 21:57
302 查看
一、介绍
C#定义了ADO.Net接口来实现对SQLServer、Oracel等数据库的访问,那Java定义了JDBC接口实现对数据库的访问,数据库提供商只要实现这些接口,Java语言就能访问数据库。
二、工作流程
1、驱动引入
数据库提供商实现了JDBC接口,可好几种数据库,Java知道是哪一种呢,于是乎得注册不同的驱动来操作对应的数据库,注册驱动也得要有驱动才是,所以首先是将驱动引入项目,这里用Mysql举例,之前也用C#操作过Mysql数据库,今天用Java操作,驱动下载地址:https://dev.mysql.com/downloads/file/?id=468319,将下载的文件解压,会找到mysql-connector-java-5.1.41-bin.jar文件,把该文件放入web-Info/lib下,这样就完成了驱动的引入。
2、注册驱动
引入驱动之后Java也不知道是用的什么数据库,所以得注册一下才知道是谁,注册之后会返回对应的驱动管理对象,就和入职一样,你到公司了但不报到那也不知道来了没来,报到了才会有针对个人的流程。
3、创建连接
数据库可能存放在远程,那怎么和数据库搭上呢,这就需要连接。
4、执行操作
连接上之后要干嘛呢,不能一直连着不干事情啊,所以连接之后执行数据库的操作,增删改查等。
5、返回结果
增删改查完了,总要有个回信吧,不然怎么知道成功与否,查询的话会返回查询的数据,增加、删除、修改会返回影响的行数。
6、释放
把结果也返回了,但不能老连着数据库啊,这样也占用资源,创建的对象也没释放,还占空间,所以用完了就把它关掉。
上面大致把操作数据库的流程列了下,下面通过实验来操作一下。
7、验证
这里先在本地数据库创建一个数据库testdb,然后在表中创建一个users表,有id、name、age、birthday字段,代表着不同的数据类型。
View Code
五、其他
对于jdbc操作二进制数据,比如图片,元数据、连接池就不一一介绍了,在开发中如果直接使用jdbc,这些也都会封装成一个类,现在的项目也一般使用框架来映射数据库才操作。
C#定义了ADO.Net接口来实现对SQLServer、Oracel等数据库的访问,那Java定义了JDBC接口实现对数据库的访问,数据库提供商只要实现这些接口,Java语言就能访问数据库。
二、工作流程
1、驱动引入
数据库提供商实现了JDBC接口,可好几种数据库,Java知道是哪一种呢,于是乎得注册不同的驱动来操作对应的数据库,注册驱动也得要有驱动才是,所以首先是将驱动引入项目,这里用Mysql举例,之前也用C#操作过Mysql数据库,今天用Java操作,驱动下载地址:https://dev.mysql.com/downloads/file/?id=468319,将下载的文件解压,会找到mysql-connector-java-5.1.41-bin.jar文件,把该文件放入web-Info/lib下,这样就完成了驱动的引入。
2、注册驱动
引入驱动之后Java也不知道是用的什么数据库,所以得注册一下才知道是谁,注册之后会返回对应的驱动管理对象,就和入职一样,你到公司了但不报到那也不知道来了没来,报到了才会有针对个人的流程。
3、创建连接
数据库可能存放在远程,那怎么和数据库搭上呢,这就需要连接。
4、执行操作
连接上之后要干嘛呢,不能一直连着不干事情啊,所以连接之后执行数据库的操作,增删改查等。
5、返回结果
增删改查完了,总要有个回信吧,不然怎么知道成功与否,查询的话会返回查询的数据,增加、删除、修改会返回影响的行数。
6、释放
把结果也返回了,但不能老连着数据库啊,这样也占用资源,创建的对象也没释放,还占空间,所以用完了就把它关掉。
上面大致把操作数据库的流程列了下,下面通过实验来操作一下。
7、验证
这里先在本地数据库创建一个数据库testdb,然后在表中创建一个users表,有id、name、age、birthday字段,代表着不同的数据类型。
<%@page import="com.mysql.jdbc.Driver"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="java.util.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% Connection conn=null; ResultSet rs=null; CallableStatement callstmt=null; try{ //注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //通过注册的驱动获得连接对象Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb?rewriteBatchedStatements=true","root","123456"); callstmt=conn.prepareCall("{call selectUserById(?,?)}"); callstmt.setInt(1, 2); callstmt.registerOutParameter(2, Types.INTEGER); rs=callstmt.executeQuery(); while(rs.next()) { out.println("姓名:"+rs.getString("name")+" 年龄:"+rs.getInt("age") +" 出生日期:"+rs.getDate("birthday")); } out.println("存储过程返回值:"+callstmt.getInt(2)); } catch(SQLException e) { out.println(e.getMessage()); e.printStackTrace(); } finally { //释放资源 if(conn!=null) { conn.close(); } if(callstmt!=null) { callstmt.close(); } if(rs!=null) { rs.close(); } } %> </body> </html>
View Code
五、其他
对于jdbc操作二进制数据,比如图片,元数据、连接池就不一一介绍了,在开发中如果直接使用jdbc,这些也都会封装成一个类,现在的项目也一般使用框架来映射数据库才操作。
相关文章推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之35.安装使用MySQL及SQL Manager 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之15.Servlet响应头信息 推荐
- Java EE WEB工程师培训——JDBC+Servlet+JSP整合开发之21.Servlet_资源访问(访问数据库) 推荐
- JavaWeb物流管理项目开发(JSP、Servlet、JDBC):3、环境搭建
- Java EE WEB工程师培训—JDBC+Servlet+JSP整合开发之32. HTML简介 推荐
- javaweb_day11 JDBC 总结
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之13.Form表单处理(2)
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之13.Form表单处理(1)
- jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之02.JDBC Connection 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之06.JDBC PreparedStatement
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之05.JDBC MetaData
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之11.Servlet简介 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之33.HTML表单 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之04.JDBC Resultset 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之09.JDBC DAO设计模式
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之16.Cookie
- java web 使用jdbc 链接sql server 2008找不到驱动类的问题