Java Web 学习笔记---3(JDBC)
JDBC是Java Web 应用程序开发中主要的API之一,负责对数据库的访问,再对数据库进行访问时java应用程序首先调用JDBC API,然后把访问语句提交给JDBC驱动器从而实现访问数据库的操作.
JDBC主要包括了2个包:java.sql和javax.sql,他们几乎都是独立于数据库的.java.sql主要针对基本的数据库编程服务如连接,执行语句.javax.sql主要为数据库的高级操作提供接口和类,引入了容器管理的连接池和分布式事物等.
JDBC软件包本身不能连接数据库,它只是一个API框架,需要通过数据库驱动程序或其他软件包提供方法.JDBC数据库驱动程序主要有JDBC-ODBC桥接驱动器,部分本机API的Java驱动器和纯Java驱动器.
JDBC API的核心组件有DriverManager类 ,Connection接口,Statement接口和ResultSet接口.
DriverManager类用于跟踪JDBC驱动程序并生成数据库连接.
Connection接口用于取得数据库信息,生成数据库语句并管理数据库连接.
Statement接口在基层连接运行SQL语句,生成结果集.
ResultSet接口用于访问SQL语句返回的数据,在读取结果时,可以使用next()方法定义每行数据并通过get()方法读取数据.
要访问数据库首先要装载驱动器,如
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
然后通过DriverManager类生成Connection对象连接数据库.如
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
Connection con = DriverManager.getConnection(url,"gyk","1234");
在数据库连接建立后可以通过Statement和PreparedStatement对象访问数据库.Statement对象允许执行简单的查询语句,executeQuery()方法执行简单的选择查询语句,并返回ResultSet对象,executeUpdate()方法执行INSERT,UPDATE,DELETE语句,返回int值,给出受查询影响的行数.如
Statement stmt=con.createStatement();
ResultSet rs=(ResultSet) stmt.executeQuery("SELECT*FROM customer");
PreparedStatement对象允许执行参数化的查询.如
String sql = "SELECT*FROM customer where id=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,"111");
ResultSet rs = ps.executeQuery();
查询的结果一般就封装在ResultSet中,可以通过next()或getXXX()等方法读取数据.