jdbc基本流程代码用例
package jdbctest;
import java.sql.*;
public class jdbcDemo01 {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String url="jdbc:oracle:thin:@//localhost:1521/test";
String username="username";
String password="password";
//Class.forName("com.mysql.jdbc.Driver");//mysql驱动
// 1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2、链接数据库
Connection connection = DriverManager.getConnection(url, username, password);
// 3、向数据库发送SQL的对象Statement : CRUD
Statement statement = connection.createStatement();
// 4、编写SQL
String sql = "select * from users";
// 5、执行SQL
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){
System.out.println("id "+resultSet.getObject("id"));
System.out.println("name "+resultSet.getObject("name"));
System.out.println("password "+resultSet.getObject("password"));
System.out.println("email "+resultSet.getObject("email"));
System.out.println("birthday "+resultSet.getObject("birthday"));
}
// 使用预编译模式preparedStatement,避免SQL注入的问题
String sql2 = "select * from users where id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql2);
preparedStatement.setInt(1,4);
ResultSet resultSet1 = preparedStatement.executeQuery();
while (resultSet1.next()){
System.out.println("id "+resultSet1.getObject("id"));
System.out.println("name "+resultSet1.getObject("name"));
System.out.println("password "+resultSet1.getObject("password"));
System.out.println("email "+resultSet1.getObject("email"));
System.out.println("birthday "+resultSet1.getObject("birthday"));
}
// 6、关闭链接,释放资源(一定要做) 先开后关
resultSet1.close();
preparedStatement.close();
resultSet.close();
statement.close();
connection.close();
}
}
使用jdbc连接oracle时url有三种格式
格式一: Oracle JDBC Thin using an SID
jdbc:oracle:thin:@host:port:SID
格式二: Oracle JDBC Thin using a ServiceName
jdbc:oracle:thin:@//host:port/service_name
格式三:Oracle JDBC Thin using a TNSName
jdbc:oracle:thin:@TNSName
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.16.91)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
//RAC集群模式tns:(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.6.10)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.6.11)(PORT = 1521)) (LOAD_BALANCE = yes)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test)))
三种URL参考博客原文地址:https://blog.csdn.net/gnail_oug/article/details/80075263