Java数据库之数据库的连接操作
这里面我们所连接的数据库是mysql数据库,Oracle数据库暂且先不讨论,并且mysql中的基本语法,这里面也不在一一表述了,但是看这篇文章之前,最好先仔细的连接mysql的基本语法,看起来方便~
接下来我主要通过几个步骤来整体的实现使用eclipse来连接数据库的操作。
1.关于mysql的图形化开发工具SQLYog
在前面的文章中,我有说明如何下载数据库。在下载完数据库之后,我们只能在cmd控制台通过执行mysql -u root -p ***来打开数据库,并且执行操作,但是在控制台要对数据库的一些表进行操作实在是太麻烦(只要一个字符写错就需要全部重写) ,因此在这里我使用SQLyog这个软件来连接我的mysql,使其可以可视化的打开。下面是关于SQLYog的配置:
(1).安装
傻瓜式安装即可,文件也不是很大。
(2).使用方法
输入用户名、密码,点击连接按钮,进行访问MySQL数据库进行操作

在Query窗口中,输入SQL代码,选中要执行的SQL代码,按F8键运行,或按执行按钮运行。

上述实现之后,我们就大体实现了mysql的图形化界面的安装啦~
2.通过ecplise连接数据库的操作
(1).导入jar包
我们需要在mysql官网下载java连接mysql的jar包,下载地址:https://blog.csdn.net/zuoshangan1989/article/details/51274852。
在下载完jar包之后,我们需要将我们的jar包导入到我们的java代码中

这个文件是java连接mysql的jar包,并且我已经解压完成了。

用鼠标点击右键复制该文件,之后打开ecplise

假设我所建立的工程是java_mysql,这时我们在这个工程里建立一个文件夹lib,并且将之前我们复制的jar文件复制到这个文件夹中,之后,我们在lib点击右键,点Build Path->Configure Build Path-->Libraries-->Add External JARs(添加本地jars包)-->Apply
这样我们就将这个jar包导入到我们的工程中

导入完之后自动会生成这个文件。
(2).java连接数据库的操作步骤
连接数据库的操作步骤主要分成下面5个步骤:
1).注册驱动,使用反射技术,固定的格式
2).获取数据库的连接,DriverManager类中的静态方法,static Connection getConnection(String url,String username,String password),返回值是Connection接口的实现类,在mysql驱动程序中。
url的格式为:(数据库的的地址)jdbc:mysql://连接主机的IP(本地主机为localhost):端口号(一般是3306)//数据库的名字
3).获取语句执行平台,通过数据库连接对象,获取SQL语句的执行者对象
假设第二步我们返回的Connection接口的实现类对象为con,接下来,我们通过con对象调用方法,Statement createStatement()来获取Statement对象,将SQL语句发送到数据库
返回值是Statement接口垫额实现类对象,在mysql驱动程序中
4).执行SQL语句
5).释放资源
下面的代码,表示的是用java代码来实现连接数据库的操作
package mysql_demo; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException; import com.mysql.jdbc.Statement; public class mysql_demo { public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
//1.注册启动,使用反射技术,固定格式
Class.forName("com.mysql.jdbc.Driver"); //2.获取数据库连接,DriverManager类中的静态方法
//static Connection getConnection(String url,String user,String password)
//返回值是Connection接口的实现类,在mysql驱动程序中
//url的格式:数据库地址 jdbc:mysql://连接主机IP:端口号//数据库名字
String url = "jdbc:mysql://localhost:3306/mybase";
String root = "***";
String password = "***";
Connection con = DriverManager.getConnection(url,root,password);
// System.out.println(con); //3.获取语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
//con对象调用方法,Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
//返回值是Statement接口的实现类对象,在mysql驱动程序中
Statement stat = (Statement) con.createStatement(); //4.执行sql语句
//通过执行者对象调用方法执行SQL语句,获取结果
//int executeUpdate(String sql) 执行数据库中的SQL语句,inset,delete,update
//返回值是int,操作成功数据表多少行
// String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES('手机11','5999','iphone11')";
// int row = stat.executeUpdate(sql);
// System.out.println(row); //查询SQL语句
String sql = "SELECT * FROM sort";
//ReaultSet executeQuery(String sql) 执行SQL语句中的select查询
//返回值ResultSet接口的实现类对象,实现类在mysql驱动中
ResultSet rs = stat.executeQuery(sql);
System.out.println(rs); while(rs.next()){
//获取每列的数据,使用的是ResultSet接口的getXXX方法,写String列名
System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+" "+rs.getDouble("sprice")+" "+rs.getString("sdesc"));
} //6.释放资源
rs.close();
stat.close();
con.close();
} }
(3).为了防止SQL注入攻击。我们引入了prepareStatement
更新操作:(删除,修改,添加操作同理)
package mysql_demo; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class mysql_update { /*
* 使用PrepareStatement接口实现数据表的更新操作
*
* */
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub //注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/mybase";
String username = "***";
String password = "***";
Connection con = DriverManager.getConnection(url,username,password);
//拼写修改的SQL语句,参数用?
String sql = "Update sort SET sname = ?,sprice=? WHERE sid = ?";
//调用连接对象con的方法prepareStatement来获取sql语句的预编译对象
PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
pst.setObject(1, "娃哈哈");
pst.setObject(2, 111);
pst.setObject(3, 7);
System.out.println(pst); //执行SQL语句
pst.executeUpdate(); //关闭资源
pst.close();
con.close();
} }
查询操作
package mysql_demo; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet; import com.mysql.jdbc.PreparedStatement; public class mysql_select {
public static void main(String[] args) throws Exception{
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/mybase";
String username = "***";
String password = "***";
Connection con = DriverManager.getConnection(url,username,password); String sql = "SELECT * FROM sort";
PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); //调用pst对象的方法,实现查询操作
ResultSet rs = pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString("sid")+" "+rs.getString("sname")+" "+rs.getString("sprice")+" "+rs.getString("sdesc"));
}
//关闭资源
rs.close();
pst.close();
con.close();
}
}
为了我们共同进步,我这里有计算机专业的各种视频,
如果想要,关注我的公众号:念流声。私聊我,看到后给你连接(只放了一张图片,视频有很多,需要什么可以私聊问我,有的话就给你)。

Java数据库之数据库的连接操作的更多相关文章
- 关闭数据库下的所有连接操作 sql存储过程
use master go )) as begin ),) declare @spid int set @sql='declare getspid cursor for select spid fro ...
- JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
- SQL语言(二) java怎样连接操作数据库中的数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java Web的数据库操作(一)
一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与 ...
- python 连接操作数据库(一)
一.下面我们所说的就是连接mysql的应用: 1.其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已): pymysql是第三 ...
- 在java程序中使用JDBC连接mysql数据库
在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
- 7.Java Web的数据库操作
一.环境配置(基于MySQL数据库) 1.下载MySQL数据库 2.下载安装 Navicat,破解方法去吾爱破解网站查询 第一次连接mysql时可能会出现错误,可能是因为二者对密码的编码方法不一致,可 ...
随机推荐
- Hive Error : Java heap space 解决方案
Java heap space问题一般解决方案: 设置 set io.sort.mb=10; 排序所使用的内存数量,默认值是100M,和mapred.child.java.opts相对应,opts默认 ...
- selenium之京东商品爬虫
#今日目标 **selenium之京东商品爬虫** 自动打开京东首页,并输入你要搜索的东西,进入界面进行爬取信息 ``` from selenium import webdriver import t ...
- Python中的四种数据结构
Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,涵盖的仅有部分重点. 目录: 一.列表list 二.元组tup ...
- zuul开发实战(限流,超时解决)
什么是网关 API Gateway,是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求.鉴权.监控.缓存.限流等功能 统一接入 * 智能路由 * AB测试.灰度测试 ...
- 动态代理之JDK 和 CGLIB
方式一:jdk动态代理 通过proxy类的newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHand ...
- 微信小程序环境搭建(本地,测试,生产)
1.本地 官网文档链接:https://cloud.tencent.com/document/product/619/11442#.E6.9C.AC.E5.9C.B0.E5.A6.82.E4.BD.9 ...
- vue动态渲染图片,引用路径需要注意的地方
1.把图片放在和src同级的static里面,这用按照正常的方式进行引入,例如: 2.图片可以在其他文件夹,但是在script引入是必须加上require <img :src="ite ...
- AQtime使用
今天刚到网上下了AQtime.因为有个通信及数据存储的程序出现的内存泄漏.在用户的环境里出现了两次,在测试的环境里一次也没有出现,开发人员猜测是一部分代码引起的.说要代码的覆盖测试.看看测试环境里有那 ...
- 设置SVC模式
清0:bic 置1:orr 访问cpsr和spdr要用到mrs和msr指令 mrs是把状态寄存器的值赋给通用寄存器 msr是把通用寄存器的值赋给状态寄存器 .text .global _start _ ...
- [转]为什么要引入nullptr?
来源:https://cloud.tencent.com/developer/ask/69685 C++11介绍nullptr,它被称为Null指针常数及其提高类型安全性和解决不明确的情况与现有实现相 ...