Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 342|回复: 0

[默认分类] Java连接MySQL数据库——含步骤和代码

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-11 12:47:09 | 显示全部楼层 |阅读模式
    工具:eclipse
       MySQL5.6
       MySQL连接驱动:mysql-connector-java-5.1.27.jar
    加载驱动:
      1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:
      
      2. 右键工程名,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC,如下图:
      
    数据包准备:
      在数据库sqltestdb中创建如下数据表emp:

    1. CREATE TABLE emp(
    2.    empno                        INT(4)                        PRIMARY KEY,
    3.    ename                        VARCHAR(10),
    4.    job                                VARCHAR(9),
    5.    hiredate                        DATE,
    6.    sal                                FLOAT(7,2)
    7. ) ;
    复制代码

      添加数据:
      
    连接数据库并读取数据:
      数据库名称:sqltestdb
      数据包名称:emp
      端口号:3306
      用户名:root
      密码:root

    1. 1 package sqldemo;
    2. 2
    3. 3 import java.sql.Connection;
    4. 4 import java.sql.DriverManager;
    5. 5 import java.sql.ResultSet;
    6. 6 import java.sql.SQLException;
    7. 7 import java.sql.Statement;
    8. 8
    9. 9 public class main {
    10. 10
    11. 11     public static void main(String[] args) {
    12. 12         //声明Connection对象
    13. 13         Connection con;
    14. 14         //驱动程序名
    15. 15         String driver = "com.mysql.jdbc.Driver";
    16. 16         //URL指向要访问的数据库名mydata
    17. 17         String url = "jdbc:mysql://localhost:3306/sqltestdb";
    18. 18         //MySQL配置时的用户名
    19. 19         String user = "root";
    20. 20         //MySQL配置时的密码
    21. 21         String password = "123456";
    22. 22         //遍历查询结果集
    23. 23         try {
    24. 24             //加载驱动程序
    25. 25             Class.forName(driver);
    26. 26             //1.getConnection()方法,连接MySQL数据库!!
    27. 27             con = DriverManager.getConnection(url,user,password);
    28. 28             if(!con.isClosed())
    29. 29                 System.out.println("Succeeded connecting to the Database!");
    30. 30             //2.创建statement类对象,用来执行SQL语句!!
    31. 31             Statement statement = con.createStatement();
    32. 32             //要执行的SQL语句
    33. 33             String sql = "select * from emp";
    34. 34             //3.ResultSet类,用来存放获取的结果集!!
    35. 35             ResultSet rs = statement.executeQuery(sql);
    36. 36             System.out.println("-----------------");
    37. 37             System.out.println("执行结果如下所示:");  
    38. 38             System.out.println("-----------------");  
    39. 39             System.out.println("姓名" + "\t" + "职称");  
    40. 40             System.out.println("-----------------");  
    41. 41              
    42. 42             String job = null;
    43. 43             String id = null;
    44. 44             while(rs.next()){
    45. 45                 //获取stuname这列数据
    46. 46                 job = rs.getString("job");
    47. 47                 //获取stuid这列数据
    48. 48                 id = rs.getString("ename");
    49. 49
    50. 50                 //输出结果
    51. 51                 System.out.println(id + "\t" + job);
    52. 52             }
    53. 53             rs.close();
    54. 54             con.close();
    55. 55         } catch(ClassNotFoundException e) {   
    56. 56             //数据库驱动类异常处理
    57. 57             System.out.println("Sorry,can`t find the Driver!");   
    58. 58             e.printStackTrace();   
    59. 59             } catch(SQLException e) {
    60. 60             //数据库连接失败异常处理
    61. 61             e.printStackTrace();  
    62. 62             }catch (Exception e) {
    63. 63             // TODO: handle exception
    64. 64             e.printStackTrace();
    65. 65         }finally{
    66. 66             System.out.println("数据库数据成功获取!!");
    67. 67         }
    68. 68     }
    69. 69
    70. 70 }
    复制代码

      运行结果:

    1. Succeeded connecting to the Database!
    2. -----------------
    3. 执行结果如下所示:
    4. -----------------
    5. 姓名        职称
    6. -----------------
    7. 李兴华        经理
    8. 张三        总监
    9. 王五        厂长
    10. 齐秦        书记
    11. 张刚        组长
    12. 曹操        财务
    13. 李四        总裁
    14. 数据库数据成功获取!!
    复制代码

    增加、删除和修改数据:
      增加数据:

    1.             String name;
    2.             String id;
    3.             
    4.             PreparedStatement psql;
    5.             ResultSet res;
    6.             //预处理添加数据,其中有两个参数--“?”
    7.             psql = con.prepareStatement("insert into emp (empno,ename,job,hiredate,sal) "
    8.                             + "values(?,?,?,?,?)");
    9.             psql.setInt(1, 3212);              //设置参数1,创建id为3212的数据
    10.             psql.setString(2, "王刚");      //设置参数2,name 为王刚
    11.             psql.setString(3, "总裁");
    12.             
    13.             DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
    14.             Date myDate2 = dateFormat2.parse("2010-09-13");
    15.             psql.setDate(4,new java.sql.Date(myDate2.getTime()));
    16.             psql.setFloat(5, (float) 2000.3);
    17.             psql.executeUpdate();           //执行更新
    复制代码

      运行结果:
      
      更新数据:

    1.   PreparedStatement psql;
    2.   //预处理更新(修改)数据,将王刚的sal改为5000.0
    3.   psql = con.prepareStatement("update emp set sal = ? where ename = ?");
    4.   psql.setFloat(1,(float) 5000.0);      
    5.   psql.setString(2,"王刚");              
    6.   psql.executeUpdate();
    复制代码

      更改结果:
      
      删除数据:

    1.             PreparedStatement psql;
    2.             //预处理删除数据
    3.             psql = con.prepareStatement("delete from emp where sal > ?");
    4.             psql.setFloat(1, 4500);
    5.             psql.executeUpdate();
    6.             psql.close();
    复制代码

      删除结果:
      
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-25 17:55 , Processed in 0.398077 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表