【JDBC】JDBCUtils工具类开发

  • 1.JDBCUtils工具类开发
  • 2.使用JdbcUtils工具类测试DML语句
  • 3.使用JdbcUtils工具类测试查询语句

1.JDBCUtils工具类开发

我们来写一个Jdbc工具类 - jdbcUtils,这个工具类可以用来获取Connection对象以及关闭数据库连接

上代码:

/*** JdbcUtils开发*/
public class JdbcUtils {private static String user;private static String password;private static String url;private static String driver;static {try {Properties properties = new Properties();properties.load(new FileInputStream("src\\mysql.properties"));user = properties.getProperty("user");password = properties.getProperty("password");url = properties.getProperty("url");driver = properties.getProperty("driver");} catch (IOException e) {throw new RuntimeException(e);}}/*** 连接数据库** @return 一个数据库的连接*/public static Connection getConnection() {try {Class.forName(driver);return DriverManager.getConnection(url, user, password);} catch (SQLException | ClassNotFoundException e) {throw new RuntimeException(e);}}/*** 关闭数据库连接* @param resultSet 结果集* @param statement 用于执行sql语句的对象* @param connection 数据库连接* 需要关闭资源就传入对象,否则传入null即可*/public static void close(ResultSet resultSet, Statement statement, Connection connection) {try {if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {throw new RuntimeException(e);}}
}

2.使用JdbcUtils工具类测试DML语句

上代码:

/*** 使用JdbcUtils工具类*/
public class UseJdbcUtils {/*** 测试更新语句*/@Testpublic void testDML() {Connection connection = null;PreparedStatement preparedStatement = null;String sql = "update user set school = ? where id = ?";try {connection = JdbcUtils.getConnection();preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, "大和大学");preparedStatement.setInt(2, 4);preparedStatement.executeUpdate();} catch (SQLException e) {throw new RuntimeException(e);} finally {// 关闭连接JdbcUtils.close(null, preparedStatement, connection);}}
}

3.使用JdbcUtils工具类测试查询语句

上代码:

/*** 测试查询语句*/
@Test
public void testSelect() {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;String sql = "select * from user";try {connection = JdbcUtils.getConnection();preparedStatement = connection.prepareStatement(sql);resultSet = preparedStatement.executeQuery();while (resultSet.next()) {int id = resultSet.getInt("id");String username = resultSet.getString("username");String password = resultSet.getString("password");String school = resultSet.getString("school");System.out.println(id + username + password + school);}} catch (SQLException e) {throw new RuntimeException(e);} finally {// 关闭连接JdbcUtils.close(resultSet, preparedStatement, connection);}
}

【JDBC】JDBCUtils工具类开发相关推荐

  1. 05:JDBC的开发步骤,及其抽取的JDBCUtils工具类

    1.1.JDBC是什么? JDBC是一种用于执行SQL语句的Java API.(Java Data Base Connectivity,java数据库连接),是Java访问数据库的标准规范,可以为不同 ...

  2. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作

    JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...

  3. java jdbc 工具_实现JDBC的工具类

    package mysql; /* * 实现JDBC的工具类 * 定义方法,直接返回数据库的连接对象 */ import java.sql.Connection; import java.sql.Dr ...

  4. Druid 连接池 JDBCUtils 工具类的使用

    Druid工具介绍 它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. 支持所有JDBC兼容的数据库,包括Oracle.MySQL. ...

  5. JDBCUtils工具类编写

    什么是JDBC: JDBC全称: java database connection. Jdbc主要用于java代码连接数据库,java代码就可以发送sql语句给数据库服务器,操作数据库中数据. 获取连 ...

  6. JDBCUtils工具类的创建和使用

    为了简化JDBC的注册驱动.创建连接对象等操作,可以使用JDBC工具类以及配置文件. 配置文件 url = jdbc:mysql://localhost:3308/db4?useSSL=false&a ...

  7. MapReduce之Job工具类开发

    [toc] MapReduce之Job工具类开发 在MapReduce程序写Mapper和Reducer的驱动程序时,有很多代码都是重复性代码,因此可以将其提取出来写成一个工具类,后面再写MapRed ...

  8. 2021开年巨作!JDBC连接数据库工具类!

    JDBC连接数据库工具类! 去年十一月二十号更新完之后就一直没有更新,因为被派出差天天九九六的日子让我毫无心思在上面写博客. 唉,马上就要过年了,小伙伴们是不是还在熬夜加班加点赶项目呢?同是天涯沦落人 ...

  9. JDBC基础工具类的实现

    文章目录 JDBC的工具类简单实现 一般实现步骤 基本代码 各种操作及运行结果 查找 代码 运行结果 更新(增删改) 代码 运行结果 总结 JDBC的工具类简单实现 一般实现步骤 实现之前,我们创建一 ...

最新文章

  1. VS2013中Image Watch插件的使用(OpenCV)
  2. php后台开发(二)Laravel框架
  3. 清华张钹院士、人大文继荣院长展开激情辩论:人类对AI的爱痴忧惧
  4. 玩转Nodejs的集群
  5. webgl入门(2)-初识webgl和着色器
  6. android viewpager 复杂指示器_View Pager 性能优化之 无限循环
  7. 60个数据窗口技巧(转)
  8. [一个经典的多线程同步问题]解决方案一:关键段CS
  9. GDB调试qemu-kvm
  10. SecureCRT在卸载时似乎会同时删除系统自带的Consolas字体
  11. mac 安装laravel Valet环境
  12. 整理 linux常用命令及工具
  13. Linux桌面没有minidwep,ubuntu 12.04完整安装minidwep-gtk教程
  14. canvas 角度 弧度 换算
  15. 一个WinForm程序的生与死
  16. BT源代码学习心得(十五):客户端源代码分析(下载过程中的块选取策略)
  17. 目前机器翻译,发展到哪个阶段了?
  18. 瀑布模型的问题是什么?
  19. 成都百知教育称跨境电商将进入最好的时代!
  20. 京东能成为快手的老铁吗?

热门文章

  1. 岗位认识---算法工程师、数据分析
  2. KL变换与PCA的关系
  3. 计算机图形学基础学习笔记-其一:向量与线性代数
  4. matlab可以画3d图吗,如何用matlab画3d图
  5. 西门子plm_宇航联合西门子助力新能源汽车龙头企业比亚迪,打造PLM产品全生命周期的信息化管理...
  6. java-php-python-ssm-软件工程在线学习平台-计算机毕业设计
  7. python色卡_python matplotlib:plt.scatter() 大小和颜色参数详解
  8. 制作自己的CentOS ISO
  9. mybatis+servlet
  10. 身体语言密码_《身体语言密码》总结:简介篇