0. 一般过程:

  (1) 调用Class.forName()方法加载驱动程序。

  (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。

  (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句)。

  (4) 调用excuteQuery()等方法执行SQL语句,并将结果保存在ResultSet对象;或者调用executeUpdate()等方法执行SQL语句,不返回ResultSet对象的结果。

  (5)对返回的ResultSet对象进行显示等相当的处理。

  (6)释放资源。

1. 连接数据库

  (1) 下载Mysql连接驱动

网址: http://dev.mysql.com/downloads/connector/j/ ,下载后放在F:\博士科研资料\数据库学习\mysql相关程序文件中,解压。

  (2) 加载JDBC驱动

操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。

  (3) 建一个简单的数据库如下:

                  

  1. import java.sql.*;
  2. public class GetConnection {
  3. public static void main(String[] args){
  4. try{
  5. //调用Class.forName()方法加载驱动程序
  6. Class.forName("com.mysql.jdbc.Driver");
  7. System.out.println("成功加载MySQL驱动!");
  8. }catch(ClassNotFoundException e1){
  9. System.out.println("找不到MySQL驱动!");
  10. e1.printStackTrace();
  11. }
  12.  
  13. String url="jdbc:mysql://localhost:3306/mysql"; //JDBC的URL
  14. //调用DriverManager对象的getConnection()方法,获得一个Connection对象
  15. Connection conn;
  16. try {
  17. conn = DriverManager.getConnection(url, "root","");
  18. //创建一个Statement对象
  19. Statement stmt = conn.createStatement(); //创建Statement对象
  20. System.out.print("成功连接到数据库!");
  21. stmt.close();
  22. conn.close();
  23. } catch (SQLException e){
  24. e.printStackTrace();
  25. }
  26. }
  27. }

2. 查询数据表

  在询数据表时,需要用到ResultSet接口,它类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。

  1. import java.sql.*;
  2.  
  3. public class SelectTable {
  4.  
  5. public static void main(String[] args){
  6. try{
  7. //调用Class.forName()方法加载驱动程序
  8. Class.forName("com.mysql.jdbc.Driver");
  9. System.out.println("成功加载MySQL驱动!");
  10.  
  11. String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL
  12. Connection conn;
  13.  
  14. conn = DriverManager.getConnection(url, "root","");
  15. Statement stmt = conn.createStatement(); //创建Statement对象
  16. System.out.println("成功连接到数据库!");
  17.  
  18. String sql = "select * from stu"; //要执行的SQL
  19. ResultSet rs = stmt.executeQuery(sql);//创建数据对象
  20. System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
  21. while (rs.next()){
  22. System.out.print(rs.getInt(1) + "\t");
  23. System.out.print(rs.getString(2) + "\t");
  24. System.out.print(rs.getInt(3) + "\t");
  25. System.out.println();
  26. }
  27. rs.close();
  28. stmt.close();
  29. conn.close();
  30. }catch(Exception e)
  31. {
  32. e.printStackTrace();
  33. }
  34. }
  35. }

3. 修改和删除数据库

  1. //修改删除数据
  2. import java.sql.*;
  3. public class UpdateDeleteDemo {
  4. public static void main(String[] args)throws Exception{
  5. try{
  6. //调用Class.forName()方法加载驱动程序
  7. Class.forName("com.mysql.jdbc.Driver");
  8. System.out.println("成功加载MySQL驱动!");
  9.  
  10. String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL
  11. Connection conn;
  12.  
  13. conn = DriverManager.getConnection(url, "root","");
  14. Statement stmt = conn.createStatement(); //创建Statement对象
  15. System.out.println("成功连接到数据库!");
  16.  
  17. //查询数据的代码
  18. String sql = "select * from stu"; //要执行的SQL
  19. ResultSet rs = stmt.executeQuery(sql);//创建数据对象
  20. System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
  21. while (rs.next()){
  22. System.out.print(rs.getInt(1) + "\t");
  23. System.out.print(rs.getString(2) + "\t");
  24. System.out.print(rs.getInt(3) + "\t");
  25. System.out.println();
  26. }
  27.  
  28. //修改数据的代码
  29. String sql2 = "update stu set name=? where number=?";
  30. PreparedStatement pst = conn.prepareStatement(sql2);
  31. pst.setString(1,"8888");
  32. pst.setInt(2,198);
  33. pst.executeUpdate();
  34.  
  35. //删除数据的代码
  36. String sql3 = "delete from stu where number=?";
  37. pst = conn.prepareStatement(sql3);
  38. pst.setInt(1,701);
  39. pst.executeUpdate();
  40.  
  41. ResultSet rs2 = stmt.executeQuery(sql);//创建数据对象
  42. System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
  43. while (rs.next()){
  44. System.out.print(rs2.getInt(1) + "\t");
  45. System.out.print(rs2.getString(2) + "\t");
  46. System.out.print(rs2.getInt(3) + "\t");
  47. System.out.println();
  48. }
  49.  
  50. rs.close();
  51. stmt.close();
  52. conn.close();
  53. }catch(Exception e)
  54. {
  55. e.printStackTrace();
  56. }
  57. }
  58. }

Java对MySQL数据库进行连接、查询和修改(转)的更多相关文章

  1. MySql数据库之连接查询

    在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 ...

  2. java与MySQL数据库的连接

    java与MySQL数据库的连接 1.数据库的安装和建立参见上一篇博客中的第1,2步骤.(http://blog.csdn.net/nuptboyzhb/article/details/8043091 ...

  3. Java对MySQL数据库进行连接、查询和修改【转载】

    一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...

  4. java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

    插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...

  5. 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)

             分页查询信息       使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...

  6. Python与Mysql 数据库的连接,以及查询。

    python与mysql数据库的连接: pymysql是python中对数据库的连接模块:因此应当首先安装pymysql数据库模块. 执行pip install pymysql 命令. 然后在pyth ...

  7. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  8. MySQL入门很简单: 15 java访问MySQL数据库

    1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...

  9. [JavaWeb基础] 003.JAVA访问Mysql数据库

    上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱 ...

随机推荐

  1. C++调用API获取当前时间

    #include <string> #include<iostream> #include<windows.h> #include <sstream> ...

  2. 使用python及工具包进行简单的验证码识别

    相信大家利用 Python 写的爬虫应该遇到过要输入验证码的尴尬局面,又或者写了个自动填充表单的小程序,结果就卡在了验证码上. 在ctf中有⼀一些题⽬目,本身有弱验证码识别绕过,那么我们怎么解决呢? ...

  3. 关于SQL的常用操作(增、删、改、查)

    关于SQL的常见操作主要是增.删.改.查. 1.增,顾名思义就是新增数据(insert into).该语句用于向表中插入新纪录.insert into有两种用法. (1).无需指定要插入数据的列名,只 ...

  4. CSP攻略

    看完三篇文章应该就懂了csp是干嘛的. https://www.cnblogs.com/Wayou/p/intro_to_content_security_policy.html https://ww ...

  5. (转)linux top命令中各cpu占用率含义及案例分析

    原文:https://blog.csdn.net/ydyang1126/article/details/72820349 linux top命令中各cpu占用率含义 0 性能监控介绍 1 确定应用类型 ...

  6. 转:QTCreater调试时提示ptrace不允许的操作(点击调试之后40秒钟gdb无回应)

    1. 问题描述 用QTCreater建立了一个纯C++的项目,但是在F5调试时,竟然提示ptrace不允许的操作,修改工程配置为Debug也不管用,经过网上搜索,原来还需要修改一下系统ptrace的配 ...

  7. 使用 Redis 共享 Session 会话

    储存模式 1.InProc模式 这是ASP.NET默认的Session管理模式,在应用进程内维护Session. 2.StateServer模式 这是在服务器装了.NET环境后自带的一个StateSe ...

  8. Linux的Bash Shell详解

    一.Bash Shell概述 1.什么是bash         bash是Bourne Again Shell的简称,是从unix系统中的sh发展而来的,是用户和Linux内核交互的工具,用户通过b ...

  9. CSS3实现纸张边角卷起效果

    html代码 <body> <div class="page"> <div class="page-box"> <h1 ...

  10. SVN安装后,右键不显示SVN菜单项

    打开svn->setting对话框,找到Icon Overlays, show overlays and context menu only explorer当中显示, 重启电脑.配置如下所示: