Java课程设计---数据库工具类
接下来看看传统的查询方式(一个完整的查询)
package com.java.mysql; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* <p>
* Title: db.java
* </p>
*
* @author daxiang
* @version 1.0 创建时间:2018年5月22日 上午8:00:22
*/
public class DB {
public static void main(String[] args) {
Connection con;// 声明Connection对象
String driver = "com.mysql.jdbc.Driver";// 驱动程序名
String url = "jdbc:mysql://localhost:3306/db_student";// URL指向要访问的数据库名db_student
String user = "root";// MySQL配置时的用户名
String password = "123";// MySQL配置时的密码
try {
Class.forName(driver);// 加载驱动程序
con = DriverManager.getConnection(url, user, password);// 使用getConnection()方法,连接MySQL数据库!!
if (!con.isClosed())
System.out.println("成功连接mysql数据库");
// 2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
// 要执行的SQL语句
String sql = "select * from admin";
// 3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("id" + "\t" + "admin" + "\t" + "password");
System.out.println("-----------------"); // 遍历查询结果集
while (rs.next()) {
String id = rs.getString(1);// 获取第一列数据
String username = rs.getString(2); // 获取第二列数据
String pwd= rs.getString(3); // 获取第三列数据
System.out.println(id + "\t" + username + "\t" + pwd);// 输出结果
}
rs.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("无法加载驱动");
e.printStackTrace();// 数据库驱动类异常处理
} catch (SQLException e) {
e.printStackTrace();// 数据库连接失败异常处理
} catch (Exception e) {
e.printStackTrace();
}
}
}
上面完成了对db_student数据库中admin表的查询,而且得到了结果

但是这样的并没有实现代码复用,当别的实体需要查询或者其他操作时,还需要重复的连接等过程,所以我们对常用操作进行封装,将数据库的基本“增、删、查、改”封装到一个类里面
DbUtil.java(数据库操作工具类)
package com.student.util; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /*
* 项目名称:
*
* 文件名称为:DbUtil.java
* 文件创建人:daxiang
*
* 修改记录:
* 修改人 修改日期 备注
*
*
*
* @author daxiang
* @version
* @time 2018年6月14日 上午9:16:44
* @copyright daxiang
*/
public class DbUtil { private Connection con;// 声明Connection对象 public DbUtil() {
String driver = "com.mysql.jdbc.Driver";// 驱动程序名
String url = "jdbc:mysql://localhost:3306/db_student?characterEncoding=utf8";// URL指向要访问的数据库名mysql
String user = "root";// MySQL配置时的用户名
String password = "123";// MySQL配置时的密码
try {
// 加载驱动
Class.forName(driver);
// 获取连接
con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} /**
* 增、删、改
*
* @return
* @throws SQLException
*/
public boolean execute(String sql) throws SQLException {
// 获取操作对象
Statement statement = con.createStatement();
// 执行
if (statement.executeUpdate(sql) > 0) {
return true;
}
return false;
} /**
* 查询
*
* @param sql
* @return
* @throws SQLException
*/
public ResultSet executeQuery(String sql) throws SQLException {
// 获取操作对象
Statement statement = con.createStatement();
// 执行
return statement.executeQuery(sql);
} }
AppConstants .java(常量参数类)
package com.demo.util; /*
* 项目名称:
*
* 文件名称为:AppConstants.java
* 文件创建人:daxiang
*
* @author daxiang
* @version
* @time 2018年6月13日 下午7:57:10
* @copyright daxiang
*/
public class AppConstants {
// jdbc
public static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/db_student?characterEncoding=utf8";
public static final String JDBC_USERNAME = "root";
public static final String JDBC_PASSWORD = "123";
public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; }
这样封装后我们就可以简化服务类中的代码,请看
Java课程设计---数据库工具类的更多相关文章
- Java课程设计---索引
		
一.基础配置 ============================================================== 1.Java课程设计---Eclipse基本环境配置 2.J ...
 - Java SE 之 数据库操作工具类(DBUtil)设计
		
JDBC创建数据库基本连接 //1.加载驱动程序 Class.forName(driveName); //2.获得数据库连接 Connection connection = DriverManager ...
 - MinerDB.java 数据库工具类
		
MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...
 - java课程设计--We Talk(201521123061)
		
java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...
 - Java课程设计(2019版)
		
参考资料 Java课程设计参考资料(2018-12-26更新) Java课程设计常见问题(程序部署.数据库.JSP) 项目开发参考-阿里巴巴Java开发手册(正式版) 更多参考资料请查看QQ群文件中的 ...
 - Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
		
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
 - Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
		
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
 - Java 课程设计 "Give it up"小游戏(团队)
		
JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...
 - java课程设计团队博客《基于学院的搜索引擎》
		
JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...
 
随机推荐
- golang中的sync
			
1. Go语言中可以使用sync.WaitGroup来实现并发任务的同步 package main import ( "fmt" "sync" ) func h ...
 - AOP-底层原理(JDK动态代理实现)
			
AOP(JDK动态代理) 1,使用JDK动态代理,使用Proxy类里面的方法创建代理对象 (1)调用 newProxyInstance 方法 方法有三个参数 第一参数,类加载器 第二参数,增强方法所在 ...
 - Asp-Net-Core学习笔记:身份认证入门
			
前言 过年前我又来更新了~ 我就说了最近不是在偷懒吧,其实这段时间还是有积累一些东西的,不过还没去整理-- 所以只能发以前没写完的一些笔记出来 就当做是温习一下啦 PS:之前说的红包封面我还没搞,得抓 ...
 - vue之Better-Scroll组件 将滚动条滚到最底部
			
首先我们需要使用scrollTo这个方法: scrollTo(x, y, time, easing) 参数: {Number} x 横轴坐标(单位 px) {Number} y 纵轴坐标(单位 px) ...
 - Linux 常见文件管理命令
			
Linux文件系统 根目录:/ 从根目录开始,下面有一堆小目录 root:根用户的目录 bin:可执行文件命令 etc:配置文件 var:日志 lib:安装包或头文件,库文件 home:所有用户的家目 ...
 - ApacheCN Golang 译文集 20211025 更新
			
Go 云原生编程 零.前言 一.现代微服务架构 二.使用 RESTAPI 构建微服务 三.保护微服务 四.使用消息队列的异步微服务架构 五.使用 React 构建前端 六.在容器中部署应用 七.AWS ...
 - AGC005 部分简要题解
			
E 首先注意到这个问题事实上非常复杂(两棵树上博弈),基础的转化无效,于是考虑简化情形. 手玩很多样例可以发现,似乎很容易出现无限循环的情况,进一步地,有观察: 若第一棵树上存在相邻点 \(u, v\ ...
 - tcp 中 FLAGS字段,几个标识:SYN, FIN, ACK, PSH, RST, URG.
			
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段.它们的含义是: 1.SYN表示建立 ...
 - 入门 - 复习Kubernetes核心概念 (八)
			
本文将会简单介绍Kubernetes的核心概念.因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍.相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概 ...
 - 解决sublime代码不提示的问题
			
如果想让sublime在你输入标签的过程中给你提示,需要按要求开启以下功能. 1.开启代码自动提示功能