概述
JDBC(Java Data Base Connectivity,java
数据库
连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用
Java语言
编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使
数据库
开发人员能够编写数据库
应用程序。
简单地说,JDBC 可做三件事:与
数据库
建立连接、发送 操作数据库的语句并处理结果。
实例
package hibernate.ch02;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class ResultSetTest {
/**
* @param args
* 该接口是查询结果集接口,对返回的结果集进行处理
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
String sql = "select * from login order by id";
Connection con = DBUtil.getConn();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int i = 0;
System.out.println("===开始获得所有记录===");
while(rs.next()){
i++;
System.out.println("开始获得第"+i+"条记录");
System.out.println("第一个字段为:"+rs.getString(1));
System.out.println("第一个字段通过名字获得为:"+rs.getString("id"));
System.out.println("第一个字段通过名字并且改变类型获得为:"+rs.getInt("id"));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
package hibernate.ch02;
import java.sql.PreparedStatement;
public class PreparedStatementTest {
/**
* @param args
* 此接口是Statement操作中sql语句的预处理
* 该接口继承了Statement接口,具备Statement的所有功能
* 该接口不必过多的关心字段是什么类型,只要在给参数赋值时,指明其类型即可,适合批量更新
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
String sql = "insert into login(name,password) values(?,?);";
java.sql.Connection con = DBUtil.getConn();
System.out.println("====添加预处理sql语句=====");
PreparedStatement pst = con.prepareStatement(sql);
System.out.println("====给sql语句中的参数进行赋值====");
pst.setString(1, "afuer");
pst.setString(2, "1324");
pst.executeUpdate();
System.out.println("====执行sql语句成功===");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
package hibernate.ch02;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class ResultSetTest {
/**
* @param args
* 该接口是查询结果集接口,对返回的结果集进行处理
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
String sql = "select * from login order by id";
Connection con = DBUtil.getConn();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int i = 0;
System.out.println("===开始获得所有记录===");
while(rs.next()){
i++;
System.out.println("开始获得第"+i+"条记录");
System.out.println("第一个字段为:"+rs.getString(1));
System.out.println("第一个字段通过名字获得为:"+rs.getString("id"));
System.out.println("第一个字段通过名字并且改变类型获得为:"+rs.getInt("id"));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
package hibernate.ch02;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class ResultSetMetaDateTest {
/**
* @param args
* 元数据操作接口
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
String sql = "select * from login order by id";
Connection con = DBUtil.getConn();
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsm = rs.getMetaData();
for(int i = 1;i<=rsm.getColumnCount();i++){
System.out.println("第"+i+"列的名字为:"+rsm.getCatalogName(i)+",类型为:"+rsm.getColumnType(i));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}