一般过程:

  (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/。

  (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 }

[1]       http://school.itzcn.com/video-vid-2308-spid-50.html

[2]       http://school.itzcn.com/video-vid-2309-spid-50.html

[3]       http://school.itzcn.com/video-vid-2310-spid-50.html

Java对MySQL数据库进行连接、查询和修改【转载】相关推荐

  1. mysql与java连接查询_【java】MySQL数据库之连接查询

    连接查询 首先来认识一个叫笛卡尔积 (cartesian product) 的东东,也可以叫直积. 假设我们有一个集合 A = {a, b}, 还有一个集合B = {0, 1, 2} ,那么这两个两集 ...

  2. MySQL数据库右连接查询right join ... on

    1. 右连接查询 以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充. 右连接查询效果图: 右连接查询语法格式: select 字段 from 表1 right join ...

  3. MySQL数据库左连接查询left join ... on

    1. 左连接查询 以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充 左连接查询效果图: 左连接查询语法格式: select 字段 from 表1 left join 表 ...

  4. 关乎mysql数据库的连接查询和子查询的效率问题

    前言:正常情况下,连接查询是比子查询效率要高的,因为子查询需要创建临时表.但是,在实际测试中,有部分情况子查询效率会比连接查询要高 1:去重的情况下 ①连接查询 SELECTDISTINCT itm. ...

  5. java操作mysql数据库_java连接mysql数据库 三 实现增删改查操作

    public classJDBCTest {public static voidmain(String[] args){//add(uname, uemail, upwd);//update(&quo ...

  6. java调用mysql数据库的基本操作方法

    一.  关于java与mysql数据库的连接: //加载数据库驱动Class.forName("com.mysql.jdbc.Driver");//获取连接//http://bai ...

  7. java mysql 查询_java连接mysql数据库达成数据查询详细教程

    前言:本篇文章适用于所有前后端开发者 众所周知,只要是编程,那肯定是需要存储数据的,无论是c语言还是java,都离不开数据的读写,数据之间传输不止,这也就形成了现代互联网的一种相互存在关系! 而读写存 ...

  8. mysql分页查询出租房屋信息_分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)...

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

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

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

最新文章

  1. HTML常用基础标签
  2. 关于PyCharm无法启动的问题
  3. 【Java报错】Greenplum数据库报错 Value can not be converted to requested type 问题解决(踩坑分享)
  4. 我的世界基岩版json_我的世界基岩版1.16
  5. 抽象方法,抽象类,接口
  6. java怎么实现日程提醒_如何用java和xml实现日程提醒
  7. 求职必看!大厂面试中遇到了发散性问题..... ,怎么办?
  8. 计算机出现故障的种种现象,【维修狮】主板常见的几种故障现象和引起故障的原因...
  9. 家用电器插头插座外壳防冲击等级试验——IK摆锤冲击试验装置
  10. python+selenium实现QQ空间的登录
  11. 有限元基础及ANSYS应用 - 第4节 - 平面桁架结构的ANSYS分析
  12. 路由器与交换机的区别与联系
  13. 单片机基础项目(上)
  14. PHP中explode()和implode()函数讲解和实战用法
  15. bzoj4453: cys就是要拿英魂!(后缀数组+单调栈+set)
  16. 华为区块链,构建可信政务服务
  17. 机巧围棋(CleverGo)项目总览及介绍
  18. 微信程序开发之微信接入(详细开发)
  19. RADARSAT-1数据下载
  20. tensorflow入门实战----VGG16完成猫狗分类

热门文章

  1. abaqus最大应力准则怎么用_ANSYS与ABAQUS对比,你选择那个?
  2. ROS知识【12】:用户的功能包覆盖系统功能包
  3. mysql删除账户后不能使用_MySQL删除普通用户
  4. php服务器队列执行,lnmp php添加队列服务器的配置
  5. mysql 创建唯一索引_Mysql创建索引
  6. 微信小程序之下拉加载和上拉刷新
  7. python3 bytes和str转换,解决图片base64调用api的问题
  8. 如何解决两个相邻的span中间空隙
  9. js 图片 mysql_jQuery+PHP+Mysql在线拍照和在线浏览照片
  10. 多选取值_R语言缺失值的处理——回归预测法