一:java访问数据库的步骤
1.加载(注册)数据库
驱动加载就是把各个数据库提供的访问数据库的API加载到我们程序进来,加载JDBC驱动,并将其注册到DriverManager中,每一种数据库提供的数据库驱动不一样,加载驱动时要把jar包添加到lib文件夹下,下面看一下一些主流数据库的JDBC驱动加裁注册的代码
//Oracle8/8i/9iO数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//SqlServer7.0/2000数据
库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//SqlServer2005/2008数据
库 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//DB2数据库
Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
//MySQL数据
库 Class.forName("com.mysql.jdbc.Driver").newInstance();
2.建立连接(Connection)
//Oracle8/8i/9i数据库(thin模式)
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";
Stringuser="scott";
Stringpassword="tiger";
Connectionconn=DriverManager.getConnection(url,user,password);
//SqlServer7.0/2000/2005/2008数据库
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pub
s";
Stringuser="sa";
Stringpassword="";
Connectionconn=DriverManager.getConnection(url,user,password);
//DB2数据库
Stringurl="jdbc:db2://localhost:5000/sample";
Stringuser="amdin"
Stringpassword=-"";
Connectionconn=DriverManager.getConnection(url,user,password);
//MySQL数据库
Stringurl="jdbc:mysql://localhost:3306/testDB?user=root&password=root&
useUnicode=true&characterEncoding=gb2312";
Connectionconn=DriverManager.getConnection(url);
3.执行SQL语句
数据库连接建立好之后,接下来就是一些准备工作和执行sql语句了,准备工作要做的就是建立Statement对象PreparedStatement对象,例如:
//建立Statement对象
Statementstmt=conn.createStatement();
//建立PreparedStatement对象
Stringsql="select*fromuserwhereuserName=?andpassword=?";
PreparedStatementpstmt=Conn.prepareStatement(sql);
pstmt.setString(1,"admin");
pstmt.setString(2,"liubin");
做好准备工作之后就可以执行sql语句了,执行sql语句:
Stringsql="select*fromusers";
ResultSetrs=stmt.executeQuery(sql);
//执行动态SQL查询
ResultSetrs=pstmt.executeQuery();
//执行insertupdatedelete等语句,先定义sql
stmt.executeUpdate(sql);
4.处理结果:
访问结果记录集ResultSet对象。例如:
while(rs.next)
{
out.println("你的第一个字段内容为:"+rs.getString("Name"));
out.println("你的第二个字段内容为:"+rs.getString(2));
}
5.关闭数据库
依次将ResultSet、Statement、PreparedStatement、Connection对象
关 闭,释放所占用的资源.例如:
rs.close();
stmt.clost();
pstmt.close();
con.close()
二:JDBC事务
三:java操作数据库连接池
http://www.blogjava.net/chunkyo/archive/2007/01/16/94266.html