学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程
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)的安装使用教程的更多相关文章
- JAVA写JSON的三种方法,java对象转json数据
JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...
- JAVA写代码必须知道的编程工具
Eclipse: 一个开放源代码的.基于Java的可扩展开发平台. NetBeans: 开放源码的Java集成开发环境,适用于各种客户机和Web应用. IntelliJ IDEA: 在代码自动提示.代 ...
- java基础(一):我对java的三个环境变量的简单理解和配置
首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...
- 常用 Java 静态代码分析工具的分析与比较
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...
- 经典KMP算法C++与Java实现代码
前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...
- Java深度理解——Java字节代码的操纵
导读:Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于 Java语言的深度理解和运用,毕竟是很少会有人涉及的话 ...
- 学了编译原理能否用 Java 写一个编译器或解释器?
16 个回答 默认排序 RednaxelaFX JavaScript.编译原理.编程 等 7 个话题的优秀回答者 282 人赞同了该回答 能.我一开始学编译原理的时候就是用Java写了好多小编译器和 ...
- 如何用java写出无副作用的代码
搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函 ...
- Java写的斗地主游戏源码
源码下载在最后 我们的前年的课设要求做一个斗地主程序,当时正在愁如何做界面,当时刚好在学习C#,于是就用C#完成了这个程序.一方面,当时我C#功底还很差(其实现在也不怎么样),很多地方用了“笨办法”, ...
随机推荐
- 《闲扯Redis四》List数据类型底层编码转换
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
- es实现mysql的like查询
es版本6.8 因为阿里云的dts同步最高支持es版本就是6.8 构建索引 PUT /z_test/ { "mappings": { "doc": { &quo ...
- python3(九) Section
# list或tuple的部分元素 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] # -----------------传统方法 print([L[ ...
- search(4)- elastic4s-ElasticDsl
上次分析了一下elastic4s的运算框架.本来计划接着开始实质的函数调用示范,不过看过了Elastic4s的所有使用说明文档后感觉还是走的快了一点.主要原因是elasticsearch在7.0后有了 ...
- awk线程号
for i in `ps|grep [a]out|awk '{print $1}'` do kill -9 "$i" done
- 01-css3之过渡
一.介绍 过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果,经常和 ...
- unity3d的键盘和鼠标输入
一.键盘的输入 •GetKey,GetKeyDown,GetKeyUp三个方法分别获取用户键盘按键的输入 1. GetKey:用户长按按键有效: bool down = Input.GetKeyDow ...
- day22作业
# 1.检索文件夹大小的程序,要求执行方式如下 # python3.8 run.py 文件夹 import os,sys l = sys.argv[1] size = 0 def get_size(f ...
- stand up meeting 1-6
今日更新: 1.修复初始最佳战绩显示bug: 初始为击败全国0% 用户 2.挑战结果界面显示“哎,今天的饭又白吃了,回去多吃两碗###”, 去除API返回string中的“###”. 3.分享模块初 ...
- Python - 批量获取文件夹的大小输出为文件格式化保存
很多时候,查看一个文件夹下的每个文件大小可以轻易的做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应的尺寸,就发现需要把鼠标放到对应的文件夹上,稍等片刻才会出结果. 有时候 ...