MySQL_(Java)提取工具类JDBCUtils
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门
MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门
MySQL_(Java)使用preparestatement解决SQL注入的问题 传送门
使用工具类JDBCUtils意义:在做增、删除、修改、查询都需要获取Connection连接,使用完毕之后我们都需要关闭连接,这些工作是不断的重复在做的事情,所以我们可以把这些工作定义成一个工具类的方法,减少我们重复代码的编写
MySQL数据库中的数据,数据库名garysql,表名garytb
通过JDBC对MySQL中的数据进行查询
- 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();
- }
- }
- }
JDBC01.java
- 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
在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);
- }
- }
MySQL_(Java)提取工具类JDBCUtils的更多相关文章
- JavaEE-实验一 Java常用工具类编程
该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1. 使用类String类的分割split 将字符串 “Solutions to selected exercises ca ...
- Android开发学习之路-Palette颜色提取工具类使用
视频(要FQ):https://www.youtube.com/watch?v=5u0dtzXL3PQ Palette是一个在support-v7包中的一个颜色提取工具类,用法比较简单,而且是谷歌官方 ...
- Java Properties工具类详解
1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...
- Java json工具类,jackson工具类,ObjectMapper工具类
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- Java并发工具类 - CountDownLatch
Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...
- MinerUtil.java 爬虫工具类
MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...
- MinerDB.java 数据库工具类
MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
随机推荐
- C#面向对象17 23种设计模式
1.简单工厂模式 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- 帝国cms 此栏目暂无任何新增信息处理办法
在做一个新网站的时候不能保证每个栏目都能填充内容,当某个栏目没有内容填充的时候总会出现“此栏目暂无任何新增信息”看着挺不舒服. 其实想删除这行字也挺简单,只需要修改下语言包即可!如下: 找到语言包文件 ...
- 解决docker pull 速度慢问题
解决docker pull 速度慢问题 将docker镜像源修改为国内的: 在 /etc/docker/daemon.json 文件中添加以下参数(没有该文件则新建): { "registr ...
- WebApi 跨域解决方案 --CORS
跨站HTTP请求(Cross-site HTTP request)是指发起请求的资源所在域不同于请求指向的资源所在域的HTTP请求. 比如说,我在Web网站A(www.a.com)中通过<img ...
- 使用PyQt5自制文件查找工具,并生成EXE文件
一.工作中,有一个关键词查找工作,查找开发版本中使用的文本,有哪些词语是非法的,一个一个去查太累了,所以想到了用代码来实现.可后来想想,能否做成简单的小工具,大家都可以使用. 于是就着手编写工具.原来 ...
- pyqt5 中的addStretch
一直对addStretch感觉怪怪的,直到看见了下面这段话: addStretch()函数用于在控件按钮间增加伸缩量, 伸缩量的比例为1:1:1:6,意思就是将控件以外的空白地方按设定的比例等分为9份 ...
- Linux下的用户和用户组,文件权限:chown和chmod
如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...
- Windows defender怎么才能彻底关闭?
据不久前的一项测试表明,Windows系统自带的Windows defender软件在所有参与测试的杀毒安全软件中对win10的运行速度影响最大. 而Win10系统的Windows defender会 ...
- Linux编译安装GCC
1. 下载gcc安装包 网址:http://ftp.gnu.org/gnu/gcc/ ,下载对应的安装包,我选择gcc-5.5.0.tar.gz 2. 下载依赖库 一个是mpc,一个是gmp,一个是m ...
- 第六章· MySQL索引管理及执行计划
一.索引介绍 1.什么是索引 1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容. 2)让获取的数据更有目的性,从而提高数据库检索数据的性能. 2.索引类型介绍 1)BTREE:B+树索引 ...