
package com.hanqi.test; import java.sql.*; public class jdbcTest { public static void main(String[] args) { // 测试JDBC Connection conn = null; try { // 1.加载驱动和注册
// 每一种数据库提供不同的驱动名
Class.forName("oracle.jdbc.driver.OracleDriver");// 加载 // 2.连接数据库 :用户名,密码,URL数据库地址
// url-
String strUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; // 得到连接
conn = DriverManager.getConnection(strUrl, "test1", "1234"); System.out.println("连接数据库成功"); // 3.操作数据库,增删改查
// 执行sql语句完成响应的功能 Statement st = conn.createStatement(); // 执行增删改语句
int i = st.executeUpdate("update T_students set sname = '小四' where sno = '101'");
if (i > 0)
{
System.out.println("操作数据库成功,影响了" + i + "数据");
}
else
{
System.out.println("未修改任何数据 ");
} //DQL 查询
//结果集
ResultSet rs = st.executeQuery("select * from T_students"); //遍历结果集
while(rs.next())
{
//字段序号
String sno = rs.getString(1);
//字段名称
String sname = rs.getString("sname"); Date dt = rs.getDate(4); System.out.println("学号= " + sno + " 学生姓名 = " + sname + " 生日= " + dt.toString());
} //rs.first();//跳到首行 //rs.last();//跳到尾行 //rs.previous();//向上移动 //rs.is rs.close(); st.close(); // 4.关闭连接 //支持占位符和在数据库中预编译
PreparedStatement ps = conn.prepareStatement("update T_students set sname = '小大123' where sno = ?"); // ? - 占位符,需要替换成真正的值
ps.setString(1, "108"); ps.executeUpdate(); System.out.println("执行prepareStatement成功!"); ps.close(); } catch (Exception e) { e.printStackTrace();
System.out.println("连接数据库失败");
}
finally
{
if (conn != null)
{
try
{
conn.close();
}
catch (SQLException e)
{ e.printStackTrace();
}
}
}
} }