(一)JDBC-工具类使用
一、介绍
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
各种不同类型的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。
二、案例
-
测试数据
create database mydb character set utf8 collate utf8_bin; use mydb; create table user( id int primary key auto_increment, username varchar(20), password varchar(20), nickname varchar(20), age int ); insert into user values (null,'aaa','123','小丽',34); insert into user values (null,'bbb','123','大王',32); insert into user values (null,'ccc','123','小明',28); insert into user values (null,'ddd','123','大黄',21);
-
新建maven工程导入所需jar包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
3.编程db.properties
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb username=root password=root
4.JDBCUtil
public class JDBCUtil { private static final String driverClassName; private static final String url; private static final String username; private static final String password; static{ // 获取属性文件中的内容: Properties properties = new Properties(); try { properties.load(new FileInputStream("src/db.properties")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } driverClassName=properties.getProperty("driverClassName"); url=properties.getProperty("url"); username=properties.getProperty("username"); password=properties.getProperty("password"); } /** * 注册驱动的方法 */ public static void loadDriver(){ try { Class.forName(driverClassName); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 获得连接的方法 */ public static Connection getConnection(){ Connection conn = null; try{ // 将驱动一并注册: loadDriver(); // 获得连接 conn = DriverManager.getConnection(url,username, password); }catch(Exception e){ e.printStackTrace(); } return conn; } /** * 释放资源的方法 */ public static void release(Statement stmt,Connection conn){ if(stmt != null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } stmt = null; } if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } public static void release(ResultSet rs,Statement stmt,Connection conn){ // 资源释放: if(rs != null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null; } if(stmt != null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } stmt = null; } if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } }
三、测试类
1.JDBC 开发步骤
第一步:加载驱动
第二步:获得连接
第三步:基本操作
第四步:释放资源
/** * 查询操作:使用工具类 */ @Test public void demo1(){ Connection conn = null; Statement stmt = null; ResultSet rs = null; try{ // 获得连接: conn = JDBCUtil.getConnection(); // 创建执行SQL语句的对象: stmt = conn.createStatement(); // 编写SQL: String sql = "select * from user"; // 执行查询: rs = stmt.executeQuery(sql); // 遍历结果集: while(rs.next()){ System.out.println(rs.getInt("id")+" "+rs.getString("username")+" "+rs.getString("password")); } }catch(Exception e){ e.printStackTrace(); }finally{ // 释放资源: JDBCUtil.release(rs, stmt, conn); } } }
2.测试结果