这里面我们所连接的数据库是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代码来实现连接数据库的操作

  1. package mysql_demo;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7.  
  8. import com.mysql.jdbc.Statement;
  9.  
  10. public class mysql_demo {
  11.  
  12. public static void main(String[] args) throws ClassNotFoundException, SQLException {
  13. // TODO Auto-generated method stub
  14. //1.注册启动,使用反射技术,固定格式
  15. Class.forName("com.mysql.jdbc.Driver");
  16.  
  17. //2.获取数据库连接,DriverManager类中的静态方法
  18. //static Connection getConnection(String url,String user,String password)
  19. //返回值是Connection接口的实现类,在mysql驱动程序中
  20. //url的格式:数据库地址 jdbc:mysql://连接主机IP:端口号//数据库名字
  21. String url = "jdbc:mysql://localhost:3306/mybase";
  22. String root = "***";
  23. String password = "***";
  24. Connection con = DriverManager.getConnection(url,root,password);
  25. // System.out.println(con);
  26.  
  27. //3.获取语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
  28. //con对象调用方法,Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
  29. //返回值是Statement接口的实现类对象,在mysql驱动程序中
  30. Statement stat = (Statement) con.createStatement();
  31.  
  32. //4.执行sql语句
  33. //通过执行者对象调用方法执行SQL语句,获取结果
  34. //int executeUpdate(String sql) 执行数据库中的SQL语句,inset,delete,update
  35. //返回值是int,操作成功数据表多少行
  36. // String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES('手机11','5999','iphone11')";
  37. // int row = stat.executeUpdate(sql);
  38. // System.out.println(row);
  39.  
  40. //查询SQL语句
  41. String sql = "SELECT * FROM sort";
  42. //ReaultSet executeQuery(String sql) 执行SQL语句中的select查询
  43. //返回值ResultSet接口的实现类对象,实现类在mysql驱动中
  44. ResultSet rs = stat.executeQuery(sql);
  45. System.out.println(rs);
  46.  
  47. while(rs.next()){
  48. //获取每列的数据,使用的是ResultSet接口的getXXX方法,写String列名
  49. System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+" "+rs.getDouble("sprice")+" "+rs.getString("sdesc"));
  50. }
  51.  
  52. //6.释放资源
  53. rs.close();
  54. stat.close();
  55. con.close();
  56. }
  57.  
  58. }

(3).为了防止SQL注入攻击。我们引入了prepareStatement

更新操作:(删除,修改,添加操作同理)

  1. package mysql_demo;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.SQLException;
  6.  
  7. import com.mysql.jdbc.PreparedStatement;
  8.  
  9. public class mysql_update {
  10.  
  11. /*
  12. * 使用PrepareStatement接口实现数据表的更新操作
  13. *
  14. * */
  15. public static void main(String[] args) throws ClassNotFoundException, SQLException {
  16. // TODO Auto-generated method stub
  17.  
  18. //注册驱动
  19. Class.forName("com.mysql.jdbc.Driver");
  20. //获取连接对象
  21. String url = "jdbc:mysql://localhost:3306/mybase";
  22. String username = "***";
  23. String password = "***";
  24. Connection con = DriverManager.getConnection(url,username,password);
  25. //拼写修改的SQL语句,参数用?
  26. String sql = "Update sort SET sname = ?,sprice=? WHERE sid = ?";
  27. //调用连接对象con的方法prepareStatement来获取sql语句的预编译对象
  28. PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
  29. pst.setObject(1, "娃哈哈");
  30. pst.setObject(2, 111);
  31. pst.setObject(3, 7);
  32. System.out.println(pst);
  33.  
  34. //执行SQL语句
  35. pst.executeUpdate();
  36.  
  37. //关闭资源
  38. pst.close();
  39. con.close();
  40. }
  41.  
  42. }

查询操作

  1. package mysql_demo;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6.  
  7. import com.mysql.jdbc.PreparedStatement;
  8.  
  9. public class mysql_select {
  10. public static void main(String[] args) throws Exception{
  11. //注册驱动
  12. Class.forName("com.mysql.jdbc.Driver");
  13. //获取连接对象
  14. String url = "jdbc:mysql://localhost:3306/mybase";
  15. String username = "***";
  16. String password = "***";
  17. Connection con = DriverManager.getConnection(url,username,password);
  18.  
  19. String sql = "SELECT * FROM sort";
  20. PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
  21.  
  22. //调用pst对象的方法,实现查询操作
  23. ResultSet rs = pst.executeQuery();
  24. while(rs.next()){
  25. System.out.println(rs.getString("sid")+" "+rs.getString("sname")+" "+rs.getString("sprice")+" "+rs.getString("sdesc"));
  26. }
  27. //关闭资源
  28. rs.close();
  29. pst.close();
  30. con.close();
  31. }
  32. }

  

为了我们共同进步,我这里有计算机专业的各种视频,

如果想要,关注我的公众号:念流声。私聊我,看到后给你连接(只放了一张图片,视频有很多,需要什么可以私聊问我,有的话就给你)。

Java数据库之数据库的连接操作的更多相关文章

  1. 关闭数据库下的所有连接操作 sql存储过程

    use master go )) as begin ),) declare @spid int set @sql='declare getspid cursor for select spid fro ...

  2. JAVA采用JDBC连接操作数据库详解

    JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...

  3. SQL语言(二) java怎样连接操作数据库中的数据

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...

  4. Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  5. Java Web的数据库操作(一)

    一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与 ...

  6. python 连接操作数据库(一)

    一.下面我们所说的就是连接mysql的应用: 1.其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已): pymysql是第三 ...

  7. 在java程序中使用JDBC连接mysql数据库

    在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...

  8. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  9. 7.Java Web的数据库操作

    一.环境配置(基于MySQL数据库) 1.下载MySQL数据库 2.下载安装 Navicat,破解方法去吾爱破解网站查询 第一次连接mysql时可能会出现错误,可能是因为二者对密码的编码方法不一致,可 ...

随机推荐

  1. 理解ES6的模块导入与导出

    export export后必须跟语句, 何为语句, 如声明, for, if 等都是语句, export 不能导出匿名函数, 也不能导出某个已经声明的变量, 如: export const bar ...

  2. HDU 1401 Solitaire 双向DFS

    HDU 1401 Solitaire 双向DFS 题意 给定一个\(8*8\)的棋盘,棋盘上有4个棋子.每一步操作可以把任意一个棋子移动到它周围四个方向上的空格子上,或者可以跳过它四个方向上的棋子(就 ...

  3. C语言---进制

    1. 何为进制 进位机制,逢几进一.数值某一位置上的数在运算时是逢几进一. 生活中的进制:十进制.十二进制(12个月是1年).六十进制(60秒是1分钟) 计算机编程中的进制:二进制.八进制.十六进制. ...

  4. Thymeleaf模板中变量报红

    在上顶部添加 <!--suppress ThymeleafVariablesResolveInspection --> 或者 <!--suppress ALL --> 都可以解 ...

  5. linux:RAID(磁盘阵列)笔记

    RAID磁盘阵列简述:     RAID0(条带): 把多个同样大小的磁盘串联起来当做一个磁盘来用.         优点:读写速度快.         缺点:数据容易丢失(没有容错能力).     ...

  6. 使用了框架iframe的页面如何跳出框架

    "window.location.href"."location.href"是本页面跳转. "parent.location.href" 是 ...

  7. vue-cli设置引入目录

    打开build/webpack.base.conf.js 找到module.exports下的resolve这行 刚开始是这样的 resolve: { extensions: ['.js', '.vu ...

  8. easyui,获取tabs标签页内容,以及刷新datagrid

    因为先点开tab页xxx查看表格,再点另一个tab页xxxx修改部分信息,再切换到tab页xxx,tab页xxx里的datagrid表格不会刷新,显示不了修改的信息(在此tab页按F5刷新可以解决,但 ...

  9. Activity安装与使用

    详细安装步骤:http://blog.csdn.net/oyzl68/article/details/16817963

  10. css画心形、三角形的总结

    .heart { width: 10px; height: 10px; /* position: fixed; */ background: #fff; transform: rotate(45deg ...