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. go 内置函数

    一.什么是内置函数? 二.内置函数有哪些? 名称 说明 close 用于管道通信 len.cap len 用于返回某个类型的长度或数量(字符串.数组.切片.map 和管道):cap 是容量的意思,用于 ...

  2. Mysql基础知识一

    1.数据库的定义 数据:描述事物符号记录.(包括数字.文字.图形.图像.声音.档案记录等)以记录形式统一的格式进行存储. 广义上的数据:出现在计算机内部的一切二进制数据流都为数据 狭义上的数据:只是数 ...

  3. leetcode 703. Kth Largest Element in a Stream & c++ priority_queue & minHeap/maxHeap

    703. Kth Largest Element in a Stream & c++ priority_queue & minHeap/maxHeap 相关链接 leetcode c+ ...

  4. pgsql中的lateral使用小结

    pgsql中的lateral 什么是LATERAL 带有LATERAL的SQL的计算步骤 LATERAL在OUTER JOIN中的使用限制(或定义限制) LATERAL的几个简单的例子 总结 举几个我 ...

  5. Git中rebase失败了如何进行恢复

    rebase失败后的恢复 记一次翻车现场 记一次翻车的现场,很早之前提的PR后面由于需求的变便去忙别的事情了,等到要做这个需求的我时候,发现已经 落后版本了,并且有很多文件的冲突,然后就用rebase ...

  6. MAC 上brew 更新 出错

    在MAC上brew update的时候出现报错:Error: /usr/local must be writable! 错误,在该文章中也给出解决办法(sudo chown -R $(whoami) ...

  7. AJ学IOS(13)UI之UITableView学习(下)汽车名牌带右侧索引

    AJ分享,必须精品 先看效果图 代码 ViewController #import "NYViewController.h" #import "NYCarGroup.h& ...

  8. centos7用户管理及root忘记密码恢复

    查看用户相关命令:#id 用户和组的信息#whoami #查看当前有效用户名#who #显示目前登入系统的用户信息.#w # w 命令用于显示已经登陆系统的用户列表#users #用于显示当前登录系统 ...

  9. Python openpyxl使用操作和openpyxl操作

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...

  10. Beta-release 目标

    在第二个release开发周期中我们首要先要完成的是对第一个发布版本的优化:(之前团队在跟travis的沟通中,travis也要求我们首先要把现在已有的feature做到一个比较成熟和稳定的版本) 1 ...