Step 1 你得有Eclipse

没有出门右拐,我教不了你。

Step 2 你得有Mysql

MySQL的详细安装过程,我在另一篇博客中给出。戳我

Step 3 安装JDBC

可以去官网下,如果用的我的Mysql版本的话,可以直接下我的,我的是.19下载地址

如果不是,给出官网下载地址

有小伙伴私信我说,不知道那个是Windows的:我来解答一下。

1. 导入User Library



直接拖进去就可以了









2. 导入用户自订的Library







Stept 4 数据库中来张表

相信很多道友,Mysql都没用过,一直在吃灰。

我们搞张表

打开Mysql

//cmd输入,看过我之前的博客应该会了就不赘述了
mysql -uroot -p
Enter password:
 create database db;--建立数据库

  use db;create table user(id int, name varchar(20));insert into user(id, name) values (1, 'hello');insert into user(id, name) values(2, 'good'); --建表

Stept 5 检查是否成功

在刚才的工程里

import java.sql.*;
public class TEST { public static void main(String[] args) {
String driver = "com.mysql.cj.jdbc.Driver"; //加载驱动程序,不用改
String username = "root"; //数据库用户名按自己的改改!!!!!!!!
String password = "";//数据库密码按自己的改改!!!!!!!!!!!
String Dbname="db";//以后访问自己数据库的时候按需修改,测试先用这个
String url = "jdbc:mysql://localhost:3306/"+Dbname+"?&useSSL=false&serverTimezone=UTC";
String coding="&useUnicode=ture&characterEncoding=UTF-8";//编码格式
Connection conn = null;
try{
Class.forName(driver);
//getConnection()方法,连接MySQL数据库!
conn=DriverManager.getConnection(url+coding,username,password);
if(!conn.isClosed())
System.out.println("-------------------------------数据库连接成功!---------------------------");
//创建statement类对象,用来执行SQL语句!
Statement Statement=conn.createStatement();
//要执行的SQL语句
String sql="select * from user" ;
//ResultSet类,用来存放获取的结果集!
ResultSet rs=Statement.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("name"));
} }
catch(ClassNotFoundException e){
//数据库驱动类异常处理
System.out.println("数据库驱动加载失败!");
e.printStackTrace();
}
catch(SQLException e1){
//数据库连接失败异常处理
e1.printStackTrace();
}
catch(Exception e2){
e2.printStackTrace();
}
finally{
System.out.println("-------------------------------数据库数据获取成功!---------------------------");
}
}
}



完成跑路!!!

Step 6 增删查改模板:

1.增

如果不能成功链接数据库,我的博客JAVA中有详细的介绍,可以看一下

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement; //当如相关驱动包 public class Add { public static void main(String[] args) throws Exception { String driver = "com.mysql.cj.jdbc.Driver"; //加载驱动程序,不用改
String userName = "root"; //数据库用户名按自己的改改!!!!!!!!
String userPwd = "";//数据库密码按自己的改改!!!!!!!!!!!
String Dbname="students";//以后访问自己数据库的时候按需修改,测试先用这个
String url = "jdbc:mysql://localhost:3306/"+Dbname+"?&useSSL=false&serverTimezone=UTC";
String coding="&useUnicode=ture&characterEncoding=UTF-8";//编码格式
url = url+coding; // 形成带数据库读写编码的数据库连接字 Class.forName(driver); // 加载并注册驱动程序
Connection conn = DriverManager.getConnection(url, userName, userPwd);// 创建连接对象
if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
//Statement stmt = conn.createStatement();// 现在很少有人用了,部分老师比较古板,所以你不写可能会扣分的呀。笑哭 // 更新(添加、删除、修改)数据库操作
String sql = "insert into stu(xh,name,cj) values(2,'李四',98)";
PreparedStatement pstmt = conn.prepareStatement(sql);
int n = pstmt.executeUpdate(sql);// 返回记录操作条数 if (n > 0) {
System.out.println("添加记录成功,共添加了" + n + "条记录");
} else {
System.out.println("添加不成功!");
}
pstmt.close();
// stmt.close();
conn.close(); } }
2.删
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement; public class Delete { public static void main(String[] args) throws Exception { String driverName = "com.mysql.cj.jdbc.Driver"; // 驱动程序名
String userName = "root"; // 数据库用户名
String userPwd = null; // 密码
String dbName = "students"; // 数据库名
String url = "jdbc:mysql://localhost:3306/" + dbName + "?useSSL=false&serverTimezone=UTC"; // 形成带数据库读写编码的数据库连接字 Class.forName(driverName); // 加载并注册驱动程序
Connection conn = DriverManager.getConnection(url, userName, userPwd);// 创建连接对象
if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement stmt = conn.createStatement();// 在桥conn上直接创建一辆汽车 String sql = "delete from stu where cj<?"; //用占位符设置SQL操作的模板
PreparedStatement pstmt = conn.prepareStatement(sql); //预处理相关SQL语句
int n = stmt.executeUpdate(sql);// 返回记录操作条数 // pstmt.setInt(1,60); if (n > 0) {
System.out.println("删除记录成功,共删除了" + n + "条记录");
} else {
System.out.println("删除不成功!");
}
pstmt.close();
stmt.close();
conn.close(); } }
3.查

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; public class Select { public static void main(String[] args) throws Exception { String driverName = "com.mysql.cj.jdbc.Driver"; // 驱动程序名
String userName = "root"; // 数据库用户名
String userPwd = ""; // 密码
String dbName = "students"; // 数据库名
String url = "jdbc:mysql://localhost:3306/" + dbName + "?useSSL=false&serverTimezone=UTC"; // 形成带数据库读写编码的数据库连接字 Class.forName(driverName); // 加载并注册驱动程序
Connection conn = DriverManager.getConnection(url, userName, userPwd);// 创建连接对象
if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement stmt = conn.createStatement();// 在桥conn上直接创建一辆汽车 String sql = "select * from stu where cj>=0 and cj<=100";
PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery();// 执行,得到查询结果集合
System.out.println("记录号 学号 姓名 成绩");
while (rs.next()) {
int a = rs.getRow();
int b = rs.getInt("xh");
String c = rs.getString("name");
int d = rs.getInt("cj");
System.out.println(a + " | " + b + " | " + c + " | " + d);
} pstmt.close();
stmt.close();
conn.close(); } }
4.改
```cpp

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement; public class Updata { public static void main(String[] args) throws Exception { String driverName = "com.mysql.cj.jdbc.Driver"; // 驱动程序名不需要修改
String userName = "root"; // 数据库用户名
String userPwd = null; // 密码
String dbName = "students"; // 数据库名
String url = "jdbc:mysql://localhost:3306/" + dbName + "?useSSL=false&serverTimezone=UTC"; // 形成带数据库读写编码的数据库连接字 Class.forName(driverName); // 加载并注册驱动程序
Connection conn = DriverManager.getConnection(url, userName, userPwd);// 创建连接对象
if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement stmt = conn.createStatement();// 在桥conn上直接创建一辆汽车 // 更新(添加、删除、修改)数据库操作
String sql = "update stu set cj=? where xh=3";
PreparedStatement pstmt = conn.prepareStatement(sql);
int n = stmt.executeUpdate(sql);// 返回记录操作条数 // pstmt.setInt(1,50);
// pstmt.setInt(2,3); if (n > 0) {
System.out.println("修改记录成功,共修改了" + n + "条记录");
} else {
System.out.println("修改不成功!");
}
pstmt.close();
stmt.close();
conn.close(); } }

写在最后:

我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。目前是一名在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!

如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!

谢谢大家的阅读!

学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程的更多相关文章

  1. JAVA写JSON的三种方法,java对象转json数据

    JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...

  2. JAVA写代码必须知道的编程工具

    Eclipse: 一个开放源代码的.基于Java的可扩展开发平台. NetBeans: 开放源码的Java集成开发环境,适用于各种客户机和Web应用. IntelliJ IDEA: 在代码自动提示.代 ...

  3. java基础(一):我对java的三个环境变量的简单理解和配置

    首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...

  4. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  5. 经典KMP算法C++与Java实现代码

    前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...

  6. Java深度理解——Java字节代码的操纵

    导读:Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于 Java语言的深度理解和运用,毕竟是很少会有人涉及的话 ...

  7. 学了编译原理能否用 Java 写一个编译器或解释器?

    16 个回答 默认排序​ RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和 ...

  8. 如何用java写出无副作用的代码

    搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函 ...

  9. Java写的斗地主游戏源码

    源码下载在最后 我们的前年的课设要求做一个斗地主程序,当时正在愁如何做界面,当时刚好在学习C#,于是就用C#完成了这个程序.一方面,当时我C#功底还很差(其实现在也不怎么样),很多地方用了“笨办法”, ...

随机推荐

  1. 基于 Spring Cloud 的微服务架构实践指南(下)

    show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringCloud 我是布尔bl,你的支持是我分享的动力! 一.引入 上回 基于 S ...

  2. C语言中 sinx cosx 的用法

    #include<stdio.h> #include<math.h> int main() {     double pi=acos(-1.0);     double ang ...

  3. C++值多态:传统多态与类型擦除之间

    引言 我有一个显示屏模块: 模块上有一个128*64的单色显示屏,一个单片机(B)控制它显示的内容.单片机的I²C总线通过四边上的排针排母连接到其他单片机(A)上,A给B发送指令,B绘图. B可以向屏 ...

  4. 一、Python3.8的安装

    一:什么是Python解释器 解释器(英语:Interpreter),又译为直译器,是一种电脑程序能够把高级编程语言一行一行直接转译运行. 解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运 ...

  5. bootstrapTest

    <!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...

  6. beanshell自定义聚合报告时分线程组阶段展示

    假设现在一共会加载100个线程,期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是总体的统计数据 beanshell脚本,具体内容: import ...

  7. Mybatis对象关系映射 one2one,one2many,many2many

    MyBatis中的高级映射一般要借助select元素中的resultMap属性进行实现,通过此属性配置实现一对一,一对多等关系映射的实现 一对一映射:association 一对多映射:collect ...

  8. cxGrid增加一栏显示checkBox的设置方法

    鉴于本人首次设定cxGrid的CheckBox的时候费了很大劲,发现很多人都会碰到这个问题,现在总结一下,以供各位互相学习借鉴. 步骤如下(不分先后): 1. cxGrid添加完自己所需的所有字段后, ...

  9. K - Downgrade Gym - 101775K

    题目大意:一天不玩相当于A-B中将A转换为经验值,B舍弃掉,然后A=1,在通过升级所需要的经验值来判断可以升几级 题目连接:https://codeforces.com/gym/101775/prob ...

  10. .NET Core 发布时去掉多余的语言包文件夹

    用 .NET Core 3.x 作为目标框架时发布完之后,会发现多了很多语言包文件夹,类似于: 有时候,不想要生成这些语言包文件夹,需要稍微配置一下. 在 PropertyGroup 节点中添加如下的 ...