MySQL_(Java)提取工具类JDBCUtils
2023-09-14 08:57:05 时间
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门
MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门
MySQL_(Java)使用preparestatement解决SQL注入的问题 传送门
使用工具类JDBCUtils意义:在做增、删除、修改、查询都需要获取Connection连接,使用完毕之后我们都需要关闭连接,这些工作是不断的重复在做的事情,所以我们可以把这些工作定义成一个工具类的方法,减少我们重复代码的编写
MySQL数据库中的数据,数据库名garysql,表名garytb
通过JDBC对MySQL中的数据进行查询
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBC01 { public static void main(String[] args) throws SQLException { selectAll(); } public static void selectAll() throws SQLException { //注册驱动 使用驱动连接数据库 Connection con = null; Statement stmt = null; ResultSet rs = null; try { con = JDBCUtils.getConnection(); //数据库的增删改查 stmt = con.createStatement(); //返回一个结果集 rs =stmt.executeQuery("select * from garytb"); while(rs.next()) { //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3)); System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password")); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { JDBCUtils.close(rs, stmt, con); } } public static boolean selectByUernamePassword(String username,String password) throws SQLException { Connection con=null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; con = DriverManager.getConnection(url,"root","123456"); stmt =con.createStatement(); String sql = "select * from garytb where username = '"+username+"' and password = '"+password+"'"; //System.out.println(sql); rs = stmt.executeQuery(sql); if(rs.next()) { return true; }else { return false; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); } return false; } public static boolean selectByUP2(String username,String password) throws SQLException{ Connection con=null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; con = DriverManager.getConnection(url,"root","123456"); String sql = "select * from garytb where username = ? and password = ?"; PreparedStatement pstmt = con.prepareStatement(sql); //添加参数 pstmt.setString(1, username); pstmt.setString(2, password); //进行查询 rs = pstmt.executeQuery(); if(rs.next()) { return true; }else { return false; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); } return false; } //pageNumber是页数,第几页,pageCount是每页显示多少个数据 public static void selectUserByPage(int pageNumber,int pageCount) throws SQLException { //注册驱动 使用驱动连接数据库 Connection con = null; PreparedStatement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); //String url ="jdbc:mysql://localhost:3306/garysql"; //指定编码查询数据库 String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; String user = "root"; String password = "123456"; //建立和数据库的连接 con = DriverManager.getConnection(url,user,password); stmt = con.prepareStatement("select * from garytb limit ?,?"); stmt.setInt(1, (pageNumber-1)*pageCount ); stmt.setInt(2, pageCount); rs = stmt.executeQuery(); while(rs.next()) { //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3)); System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password")); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); } } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils { private static final String connectionURL = "jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; private static final String username = "root"; private static final String password = "123456"; //创建数据库的连接 public static Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection(connectionURL,username,password); } catch (Exception e) { e.printStackTrace(); } return null; } //关闭数据库的连接 public static void close(ResultSet rs,Statement stmt,Connection con) throws SQLException { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); } }
在JDBCUtils.java中实现构建对数据库的连接和关闭数据库操作
private static final String connectionURL = "jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; private static final String username = "root"; private static final String password = "123456"; //创建数据库的连接 public static Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection(connectionURL,username,password); } catch (Exception e) { e.printStackTrace(); } return null; } //关闭数据库的连接 public static void close(ResultSet rs,Statement stmt,Connection con) throws SQLException { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); }
在JDBC01.java中需要对数据库中用户查询时直接调用JDBCUtils.java中方法即可
//数据库的连接 con = JDBCUtils.getConnection(); //关闭数据库 JDBCUtils.close(rs, stmt, con);
例如查询MySQL中所有用户的信息
public static void selectAll() throws SQLException { //注册驱动 使用驱动连接数据库 Connection con = null; Statement stmt = null; ResultSet rs = null; try { //数据库的连接 con = JDBCUtils.getConnection(); //数据库的增删改查 stmt = con.createStatement(); //返回一个结果集 rs =stmt.executeQuery("select * from garytb"); while(rs.next()) { //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3)); System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password")); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { JDBCUtils.close(rs, stmt, con); } }
相关文章
- java 缓存工具类初始化_Java缓存框架
- 【MySQL高级】MySql中常用工具及Mysql 日志
- MySQL排序之—指定顺序排列(mysql指定顺序排序)
- MySQL数据同步解决方案(mysql同步工具)
- 简明MySQL慢查询分析指南(mysql慢查询分析工具)
- MySQL修改数据目录:简易指南(mysql修改数据目录)
- 启动MySQL: 简单几步操作(怎么开启mysql)
- MySQL字段自动增长:增强数据储存功能(mysql字段自动增长)
- MySQL数据库:驱动数据库应用的必备工具(mysql数据库的应用)
- 失败MySQL导入字符集遇到的困难(mysql导入字符集)
- 利用MySQL计算平均数的方法(mysql平均数)
- MySQL中文操作:从入门到精通(mysql工具中文版)
- MySQL视图:基础教程指南(mysql视图教程)
- 连接MySQL中实现多表连接的技巧(mysql多个表)
- MySQL窗口:操作MySQL数据库的必备工具(mysql窗口)
- 如何使用 MySQL 恢复单个表?(mysql恢复单个表)
- 数据库的操作Java与MySQL搭配:完美数据库操作(java对mysql)
- MySQL 数组,提高数据处理效率的必备工具(mysql数组)
- 初探MySQL:Data初始化指南(mysql初始化data)
- 极速搭建:利用阿里云实现MySQL外网访问(阿里云mysql外网访问)
- MySQL启动工具:轻松运行数据库(mysql启动工具)
- MySQL密码修改工具:快速保护你的资料库(mysql改密码工具)
- 简单易用的MySQL数据库可视化工具让管理变得轻松(mysql数据库的可视化)
- 利用监控工具管理Mysql数据库(监控mysql工具)
- 周海平驾驭MySQL,学习新技能(周海平 mysql)
- 「MySQL修复工具」快速找出故障,迅速修复MySQL数据库!(mysql修复工具)
- MySQL参数详解,让你更加了解Mysql参数定义及优化。(mysql参数定义)
- MySQL查询:获取受影响的行数(mysql 返回影响行数)
- 记录MySQL数据库操作历史:日志分析方法(mysql数据库操作日志)
- MySQL 查询时如何查看严格模式(mysql 严格模式查看)
- ASP连接MySQL实现数据交互的操作语句(asp连接mysql语句)
- 使用cmd工具倒入MySQL文件夹(cmd倒mysql文件夹)
- MySQL上手简单,一键即可部署MySQL一键部署工具(mysql一键部署工具)
- MySQL下载及账户设置步骤全解析(mysql下载账号步骤)
- 快速获取MySQL下载源方法分享(mysql下载源)
- MySQL 三表联结SQL 神器的高效数据处理工具(mysql三表连表)