JDBC_day02 langna 2007-9-7 星期五
wanghg@tarena.com.cn
回顾:
con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.201:1521:tarena",
"xjh0704", "xjh0704");
另外一种注册方法:
Properties p = new Properties();
p.setProperty("user", "xjhsd0704");
p.setProperty("password", "xjhsd0704");
Connection con = d.connect("jdbc:oracle:thin:@192.168.0.20:1521:tarena", p);
另外一种方式:
jdbc:oracle:thin:xjh0704/xjh0704@192.168.0.20:1521:tarena
java类型是静态类型,编译器检查类型;字符串只检查类型,不检查内容;
注意:
同一个statement 得到结果集之后没有去遍历结果集,
而是做了其他操作(插入或修改)的话,结果集就不能用了,为空了;
先做插入或修改操作,然后再得到结果集去遍历,不会有什么问题;
一、设计
封装:避免重复的代码;
抽象:将具体的细节、量抽出来,把逻辑,形式留下;
依赖倒转:原来的设计是写具体的类,依赖倒转就是将具体的抽取出来;
写一个工具类:JdbcUtil ,方法都设成静态方法;
加载驱动放到初始化代码块里;只加载一次就行;
public class JdbcUtil {
//静态代码块加载驱动;
static{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//得到数据库连接
public static Connection getConnection(){
Connection con =null;
try {
con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.201:1521:tarena",
"xjh0704", "xjh0704");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
//释放数据库资源
public static void close(ResultSet rs,Statement stmt,Connection con){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(stmt!=null){