JDBC连接MySQL并实现模糊查询的方法是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"JDBC连接MySQL并实现模糊查询的方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JDBC连接MySQL并实现模糊查询
千家信息网最后更新 2026年11月03日JDBC连接MySQL并实现模糊查询的方法是什么
这篇文章主要讲解了"JDBC连接MySQL并实现模糊查询的方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JDBC连接MySQL并实现模糊查询的方法是什么"吧!
场景:
在学习JDBC的语言中,每次都执行通用的几步:即注册驱动,获取连接,创建操作,处理结果,释放资源 过于复杂,因此不妨将上述步骤封装成工具类,只对外提供方法!
描述:
这是不使用工具类的封装写出来的代码,比较冗余复杂
package com.zdx.JDBC; import java.sql.*; public class JAVA1129_5 { public static void main(String[] args) { //设置空对象,注册驱动,获取连接,创建操作,处理结果集,释放资源 String url = "jdbc:mysql://127.0.0.1:3306/hello"; String username = "root"; String password = "rota"; String SQL = "insert into stu values(1,'zdx','nbnc'),(2,'cyc','qwq');";// String SQL1 = "update stu set sname ='xzq',major='bask' where sno = '1';"; String SQL1="select * from stu"; Connection connection = null; Statement statement = null; ResultSet resultset = null; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection(url, username, password); statement = connection.createStatement(); int cnt = statement.executeUpdate(SQL); if (cnt != 0) { System.out.println("执行成功"); } ResultSet result = statement.executeQuery(SQL1); while (result.next()) { //随着光标移动对操作对象进行操作 System.out.println("nbnb"); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } //释放资源,必须在最后加上finally语句块执行 finally { if (resultset != null) { try { resultset.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } } }解决方案:
首先类内的构造方法加私有修饰符,模仿Sun公司工具类,如Arrays类 和 Collection 。
其次注册驱动,利用静态代码块内只注册一次进行注册驱动
然后获取数据库连接,返回数据库连接对象的方法内有异常,不能catch,需要向外扔。
最后封装一个关闭的方法。
注意由于封装工具类,且对外只提供方法因此都封装成类方法(即static修饰)
package com.zdx.JDBC; import java.sql.*; //2021.11.2920点03分 对数据库的工具类进行封装public class DBUtil{ private DBUtil(){} static{ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } }//利用静态代码块在类加载时只加载一次的特性注册驱动。 //获取连接的方法 public static Connection getConnection (String url,String user,String password)throws SQLException{ return DriverManager.getConnection(url,user,password);//这里注意驱动管理类内调用的获取连接方法返回对象就是connection对象。 } //关闭资源 //按照顺序,结果集,数据库操作对象,连接对象! public static void close(Connection connection,Statement ps,ResultSet resultSet){ if(resultSet!=null){ try { resultSet.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if(ps!=null){ try { ps.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } }对工具类进行调用实现模糊查询:
package com.zdx.JDBC; import java.sql.*; public class Main { public static void main(String[] args) { Connection connection = null; PreparedStatement ps = null; ResultSet resultSet = null; String url = "jdbc:mysql://127.0.0.1:3306/hello"; String user = "root"; String password = "rota"; //获取连接 try { connection = DBUtil.getConnection(url, user, password); } catch (SQLException throwables) { throwables.printStackTrace(); } //获取预编译的数据库操作对象 String SQL = "select sname from stu where sname like ?"; try { ps = connection.prepareStatement(SQL); ps.setString(1, "_y%"); resultSet = ps.executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("sname")); } } catch (SQLException throwables) { throwables.printStackTrace(); } //释放资源 finally { DBUtil.close(connection, ps, resultSet); } }}感谢各位的阅读,以上就是"JDBC连接MySQL并实现模糊查询的方法是什么"的内容了,经过本文的学习后,相信大家对JDBC连接MySQL并实现模糊查询的方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
方法
对象
工具
封装
驱动
查询
数据
数据库
资源
学习
代码
结果
复杂
内容
就是
静态
处理
对外
成功
光标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技平台互联网
互联网是不是新科技
平安科技 互联网
美国互联网科技
狮子座互联网科技
互联网科技作文
远信互联网科技
浩特互联网科技
北京禾田雨橡互联网科技
互联网高科技企业
中盈科技互联网信息有限公司
花神(南京)互联网科技有限公司
互联网5g黑科技有哪些
本届互联网博览会上的黑科技
洛阳共同富裕互联网科技有限公司
上海创道互联网络科技有限公司
昆明中奇联合互联网科技
互联网时代科技型公司的机会
互联网公司属于科技吗
中国主要互联网科技公司
互联网是不是新科技
凡科互联网科技
北京大学互联网科技怎么样
阿里互联网科技公司
互联网科技的全部知识
信承诺互联网科技有限公司
互联网时代高科技布局
马化腾互联网科技教学
华人运通互联网科技公司
现代科技的标志之一的互联网