zoukankan      html  css  js  c++  java
  • Java操作mysql数据库

    文章来源:博客园-风雪夜归人shen

    原文地址:https://www.cnblogs.com/centor/p/6142775.html

    编程工具

       eclipse

       MySQL5.6

       MySQL连接驱动:mysql-connector-java-5.1.27.jar

    加载驱动

      1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:

      

      2. 右键工程名,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC,如下图:

      

    数据包准备

      在数据库sqltestdb中创建如下数据表emp:

      添加数据:

      

    操作数据库

    读取数据

      数据库名称:sqltestdb

      数据包名称:emp

      端口号:3306

      用户名:root

      密码:root

    package sqldemo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class main {
    
        public static void main(String[] args) {
            //声明Connection对象
            Connection con;
            //驱动程序名
            String driver = "com.mysql.jdbc.Driver";
            //URL指向要访问的数据库名mydata
            String url = "jdbc:mysql://localhost:3306/sqltestdb";
            //MySQL配置时的用户名
            String user = "root";
            //MySQL配置时的密码
            String password = "123456";
            //遍历查询结果集
            try {
                //加载驱动程序
                Class.forName(driver);
                //1.getConnection()方法,连接MySQL数据库!!
                con = DriverManager.getConnection(url,user,password);
                if(!con.isClosed())
                    System.out.println("Succeeded connecting to the Database!");
                //2.创建statement类对象,用来执行SQL语句!!
                Statement statement = con.createStatement();
                //要执行的SQL语句
                String sql = "select * from emp";
                //3.ResultSet类,用来存放获取的结果集!!
                ResultSet rs = statement.executeQuery(sql);
                System.out.println("-----------------");
                System.out.println("执行结果如下所示:");  
                System.out.println("-----------------");  
                System.out.println("姓名" + "	" + "职称");  
                System.out.println("-----------------");  
                 
                String job = null;
                String id = null;
                while(rs.next()){
                    //获取stuname这列数据
                    job = rs.getString("job");
                    //获取stuid这列数据
                    id = rs.getString("ename");
    
                    //输出结果
                    System.out.println(id + "	" + job);
                }
                rs.close();
                con.close();
            } catch(ClassNotFoundException e) {   
                //数据库驱动类异常处理
                System.out.println("Sorry,can`t find the Driver!");   
                e.printStackTrace();   
                } catch(SQLException e) {
                //数据库连接失败异常处理
                e.printStackTrace();  
                }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally{
                System.out.println("数据库数据成功获取!!");
            }
        }
    
    }

    运行结果:

    Succeeded connecting to the Database!
    -----------------
    执行结果如下所示:
    -----------------
    姓名  职称
    -----------------
    李兴华 经理
    张三  总监
    王五  厂长
    齐秦  书记
    张刚  组长
    曹操  财务
    李四  总裁
    数据库数据成功获取!!

    增加、删除和修改数据

    增加数据

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

    运行结果:

      

    更新数据

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

    更改结果:

      

    删除数据

    PreparedStatement psql;
    //预处理删除数据
    psql = con.prepareStatement("delete from emp where sal > ?");
    psql.setFloat(1, 4500);
    psql.executeUpdate();
    psql.close();

    删除结果:

       

  • 相关阅读:
    CF1454F Array Partition
    leetcode1883 准时抵达会议现场的最小跳过休息次数
    leetcode1871 跳跃游戏 VII
    leetcode1872 石子游戏VIII
    CF1355C Count Triangles
    CF1245D Shichikuji and Power Grid
    CF1368C Even Picture
    CF1368D AND, OR and square sum
    CF1395C Boboniu and Bit Operations
    SpringBoot和开发热部署
  • 原文地址:https://www.cnblogs.com/wjw1014/p/10851104.html
Copyright © 2011-2022 走看看