JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具
先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接、关闭ResultSet 结果集、关闭PreparedStatement 的方法。代码如下:
package com.swift; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DBUtil {
//连接MySQL数据库工具
public static Connection getConn() {
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root");
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
//关闭数据库连接、sql连接、结果集
public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs) {
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if(ps!=null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
接下来实现登录,已有帐号在数据库中检验存在与否。代码如下:
package com.swift; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class JDBC_Login { public static void main(String[] args) {
User user=new User("swift","abc123");
if(login(user)) {
System.out.println("成功");
}else {
System.out.println("失败");
} } public static boolean login(User user) { Connection conn=DBUtil.getConn();
PreparedStatement ps=null;
ResultSet rs=null;
try {
ps=conn.prepareStatement("select * from sw_user where username=? and password=?");
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
rs=ps.executeQuery();
if(rs.next()) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBUtil.closeAll(conn, ps, rs);
return false;
}
}
实现在数据库增加数据,数据库表sw_user中插入新数据,代码如下:
package com.swift; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class JDBC_Add { public static void main(String[] args) {
User user=new User("duoduo","abc123");
if(add(user)) {
System.out.println("帐号注册成功");
}else {
System.out.println("注册失败");
}
} private static boolean add(User user) { Connection conn=DBUtil.getConn();
PreparedStatement ps=null;
try {
ps=conn.prepareStatement("insert into sw_user(username,password) values(?,?)");
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
int count=ps.executeUpdate();
if(count==1) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBUtil.closeAll(conn, ps, null);
return false;
}
}
实现在数据库中删除数据,数据库表sw_user中删除已存在的数据,代码如下:
package com.swift; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class JDBC_Delete { public static void main(String[] args) {
User user=new User("duoduo","abc123");
if(JDBC_Login.login(user)) {
if(delete(user)) {
System.out.println("帐号注销成功");
}else {
System.out.println("注销失败");
}
}else {
System.out.println("账户不存在");
}
} private static boolean delete(User user) { Connection conn=DBUtil.getConn();
PreparedStatement ps=null;
try {
ps=conn.prepareStatement("delete from sw_user where username=? and password=?");
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
int count=ps.executeUpdate();
if(count==1) {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.closeAll(conn, ps, null);
return false;
}
}
实现在数据库中修改数据,数据库表sw_user中更新已存在的数据,代码如下:
package com.swift; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class JDBC_Update { public static void main(String[] args) {
User user=new User("swift","abc123");
String setPassword="abc12345";
if(JDBC_Login.login(user)) {
if(update(user,setPassword)) {
System.out.println("密码修改成功");
}else {
System.out.println("修改失败");
}
}else {
System.out.println("账户不存在");
} } private static boolean update(User user,String setPassword) { Connection conn=DBUtil.getConn();
PreparedStatement ps=null;
try {
ps=conn.prepareStatement("update sw_user set password=? where username=?");
ps.setString(1, setPassword);
ps.setString(2, user.getUsername());
int count=ps.executeUpdate();
if(count==1) {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.closeAll(conn, ps, null);
return false;
}
}
工具类的使用可以提高代码的复用性,提高代码阅读性便于修改。
附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具
链接: https://pan.baidu.com/s/1jId5hHW 密码: aprj
sw_database数据库中表sw_user字段的设置如图:

JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具的更多相关文章
- 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
- node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录
Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...
- GZFramwork数据库层《一》普通表增删改查
运行结果: 使用代码生成器(GZCodeGenerate)生成tb_MyUser的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCode ...
- GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)
运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGe ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- 招新系统(jsp+servlet,实现简略前端网页注册登录+后台增删改查,分学生和管理员,Java语言,mysql数据库连接,tomcat服务器)
生活不只是眼前的苟且,还有诗和远方. 架构说明: 要求是采用MVC模式,所以分了下面的几个包,但是由于是第一次写,可能分的也不是很清楚: 这个是后台部分的架构: 这个是前端的的展示: (那个StuLo ...
- day94:flask:Jinjia2模板引擎&flask中的CSRF攻击&Flask-SQLAlchemy的创建模型类和基本的增删改查
目录 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 2.Jinjia2的模板语句 3.模板中特有的变量和函数 4.模板中内置的过滤器 5.自定义过滤器 6.模板继承 2.在 ...
- MySQL数据库的权限问题操作及基本增删改查操作
前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...
- Java学生信息增删改查(并没用数据库)
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...
随机推荐
- bootstrap table 学习记录
效果: html代码: <!-- 工具容器 --> <div id="toolbar" class="btn-group"> <b ...
- springboot 简单自定义starter - dubbo
首先需要引入pom 这里使用nacos注册中心 所以引入了nacos-client 使用zookeeper注册中心的话需要引入其相应的client <dependency> <gro ...
- 扩展JMeter - 创建自定义函数 - String Joiner (翻译)
JMeter是测试自动化社区中最好的开源工具之一.它提供了所有可能的扩展,可以快速提供我们的测试脚本.为了让我们的生活更轻松,它还让我们通过实现几个接口来提出我们自己的插件. 在本文中,让我们看看如何 ...
- Composite模式(组合设计模式)
Composite 设计模式? 在计算机的文件系统中,有"文件夹"的概念(在有些操作系统(Linux操作系统)中,也称为"目录").文件夹里面既可以放入文件,也 ...
- 关于Function.prototype.apply.call的一些补充
宿主对象,在javascript中有三类对象,本地对象,内置对象和宿主对象.其他两类暂且不提,宿主对象是指什么呢(DOM BOM),控制台对象是文档对象模型的扩展,也被认为是宿主对象.那么,它们有什么 ...
- 如何在Eclipse中正确安装Jetty插件并初步使用(图文详解)
不多说,直接上干货! 最近在做一个Storm项目,需要用到Jetty来进行展示.它类似于Tomcat. 一.eclipse中jetty插件安装 打开eclipse,依次点击菜单Help->Ecl ...
- Spark Mllib里的卡方检验
不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...
- 前后端API交互数据加密——AES与RSA混合加密完整实例
前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用R ...
- IE浏览器与非IE浏览器JS日期兼容性问题处理
执行语句 console.log(new Date("2017-07-04 18:40").getTime()); 在IE浏览器中打印出:NAN 在非IE浏览器中打印出:14991 ...
- SOA框架
SOA是什么 估计很多人都听说过SOA这个词了,但是很多人还是不知道到底什么是SOA.开发人员很容易理解为是一个Web Service,但是这绝对不是SOA,那顶多只能算是SOA的一种实现方法.那么, ...