使用JDBC的方法

    xiaoxiao2023-10-17  144

    使用JDBC的方法

    添加JDBC驱动

    (数据库用的是MySQL就下载mysql的JDBC驱动)

    将其中的.jar文件拷贝到Java  Project中的lib文件夹下

    右键点击.jar   Build Path--> Add to Build Path

     

     使用步骤:

    1.注册驱动

    2.建立连接

    3.创建执行对象PreparedStatement

    4.执行sql,得到ResultSet      

    5.遍历结果集

    6.释放资源

    [注]:executeQuery(sql):执行查询的sql语句

             executeUpdate(sql): 执行增删改的sql语句

    完整代码:

    package com.itheima.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.PreparedStatement; public class JDBCDemo { public static void main(String[] args) { try { // 1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.建立连接 参数一:协议+访问的数据库 参数二:用户名 参数三:密码 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost/studentdb", "root", "123456"); // 3.创建执行对象 String sql = "select * from t_stu"; PreparedStatement ps =conn.prepareStatement(sql); // 4.执行查询 ResultSet rs = ps.executeQuery(); // 5.遍历查询每一条记录 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id=" + id + "\t name=" + name + "\t age=" + age); } // 6.释放资源 先开启的对象后关闭,后开启的对象先关闭 rs.close(); ps.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }

     

    改进版:(将资源释放、驱动注册、连接对象 放到到工具类JDBCUtil.java中)

    完整代码:

    JDBCTest.java

    package com.itheima.test; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.PreparedStatement; import com.itheima.util.JDBCUtil; public class JDBCTest { public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 1.注册驱动 2.建立连接 conn = JDBCUtil.getConn(); // 3.创建PreparedStatement String sql = "select * from t_stu"; ps = conn.prepareStatement(sql); // 4.执行查询 得到结果集 rs = ps.executeQuery(sql); // 5.遍历查询每一条记录 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id=" + id + "\t name=" + name + "\t age=" + age); } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtil.release(conn, ps, rs); } } }

    工具类的代码:JDBCUtil.java

    package com.itheima.util; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Properties; public class JDBCUtil { static String driverClass = null; static String url = null; static String name = null; static String password = null; static { try { // 1.创建一个属性配置对象 Properties properties = new Properties(); //方法一:将jdbc.properties放在根目录下 InputStream is = new FileInputStream("jdbc.properties"); /*方法二:将jdbc.properties文件放到src文件夹下用此方法 * 使用类加载器,去读取src底下的资源文件 InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"); */ // 导入输入流 properties.load(is); // 读取属性 driverClass = properties.getProperty("driverClass"); url = properties.getProperty("url"); name = properties.getProperty("name"); password = properties.getProperty("password"); } catch (Exception e) { e.printStackTrace(); } } /** * 获取连接对象 * * @return */ public static Connection getConn() { Connection conn = null; try { // 1.注册驱动 Class.forName(driverClass); // 2.建立连接 conn = DriverManager.getConnection(url, name, password); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 释放资源 * * @param conn * @param ps * @param rs */ public static void release(Connection conn, PreparedStatement ps, ResultSet rs) { closeRs(rs); closePs(ps); closeConn(conn); } private static void closeRs(ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { rs = null; } } private static void closePs(PreparedStatement ps) { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { ps = null; } } private static void closeConn(Connection conn) { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { conn = null; } } }

    配置文件jdbc.properties(放在根目录下)

    driverClass = com.mysql.jdbc.Driver url = jdbc:mysql://localhost/studentdb name = root password = 123456

    [注]:1. 注册驱动其实可以不写,因为jdbc4以后是自动注册的。

             2.读取配置文件有两种方法

                创建一个属性配置对象             Properties properties = new Properties();             //方法一:将jdbc.properties放在根目录下             InputStream is = new FileInputStream("jdbc.properties");                          /*方法二:将jdbc.properties文件放到src文件夹下用此方法              * 使用类加载器,去读取src底下的资源文件             InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");

    最新回复(0)