一.连接oracle数据库
引入驱动包
1 通过反射机制加载驱动类
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
2 编写连接字符串,拿到connection.
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
二.连接MySQL数据库
引入驱动包
1 通过反射机制加载驱动类
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//或者Class.forName("com.mysql.jdbc.Driver");
2 编写连接字符串,拿到connection.
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=GB18303"
//myDB为数据库名
.
Connection conn= DriverManager.getConnection(url);
三.拿到connection后,拿到执行管道Statement,和结果集ResuletSet(有的sql语句需要返回结果)。
1 注意Statement的用法和区别。PreparedStatement用法,Statement用法
statement用法
stmt = conn.createStatement();
stmt.executeUpdate("insert into Student (username, password, age) values ('张三','1234',20)");
rs = stmt.executeQuery("select * from Student");
//5. 现实结果集里面的数据
while(rs.next()) {
System.out.println("编号=" + rs.getInt(1)); //括号里面也可以直接写表名,但通过编号都在第一列,所以写1也是可以的。
System.out.println("姓名=" + rs.getString("username")); //同理,我这里也可以写2,但是以后如果列变了,我就杯具了,所以还是写表名吧!
System.out.println("密码=" + rs.getString("password"));
System.out.println("年龄=" + rs.getString("age"));
System.out.println("---------------");
}
}