第一个JDBC程序
第一个JDBC程序
• 编写一个程序,这个程序从student表中读取数据,并打印在命令行窗口中。
一、搭建实验环境 :
1、新建一个Java工程,并导入数据驱动。
二、编写程序,在程序中加载数据库驱动
方法①,DriverManager.registerDriver(Driver driver)
DriverManager.registerDriver(new OracleDriver());
方法②
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
三、建立连接(Connection)
Connection conn = DriverManager.getConnection(url,user,pass);
四、创建用于向数据库发送SQL的Statement对象,并发送sql
Statement st = conn.createStatement();
ResultSet rs = st.excuteQuery(sql);
五、从代表结果集的ResultSet中取出数据,打印到命令行窗口
六、断开与数据库的连接,并释放相关资源
TestJDBC.java
import java.sql.*; public class TestJDBC { private static Connection conn = null; private static Statement statement = null; private static ResultSet rs = null; public static void main(String[] args) { } public static void executeQuery(String sql) { try { // 1, 向JDBC注册(需要操作的)数据库操作 // ①,将驱动引入到项目中 // ②,通过反射机制注册驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2,通过DriverManager获取Java和数据库之间的连接 conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=mydb", "sa", "admin123"); // 3,准备要操作的SQL语句 // 4,从连接conn中获取sql 编译工具 statement = conn.createStatement(); // 5,通过sql语句的编译工具执行sql语句 rs = statement.executeQuery(sql); while (rs.next()) { int age = rs.getInt("sage"); System.out.println(rs.getString("sno") + "\t" + rs.getString("sname") + "\t" + age + "\t" + "," + rs.getString("sdept")); } // 关闭数据库连接 } catch (SQLException e) { System.out.println("连接数据库失败"); e.printStackTrace(); } catch (ClassNotFoundException e) { System.out.println("加载驱动失败!"); e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } // Statement 中的boolean // flag=st.statement(sql)方法:如果操作成功,返回false,如果操作失败,则返回true; public static void executeUpdate(String sql) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=mydb", "sa", "admin123"); Statement ps = conn.createStatement(); int i = ps.executeUpdate(sql); if (i > 0) { System.out.println("操作成功"); } else { System.out.println("操作失败"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }