zoukankan      html  css  js  c++  java
  • JDBC实现简单的增删改查

     JDBC的开发步骤
    * a: 步骤介绍
    1.注册驱动
    告知JVM使用的是哪一个数据库的驱动
    2.获得连接
    使用JDBC中的类,完成对MySQL数据库的连接
    3.获得语句执行平台
    通过连接对象获取对SQL语句的执行者对象
    4.执行sql语句
    使用执行者对象,向数据库执行SQL语句
    获取到数据库的执行后的结果
    5.处理结果
    6.释放资源 一堆close()

    一.准备工作

    1.数据库的安装与配置(省略了)

    2.导入mysql数据库驱动程序jar包

    a.创建lib目录,用于存放当前项目需要的所有jar包

    b. 选择jar包,右键执行build path / Add to Build Path

      将要导入的jar包复制到lib文件夹下,然后右键选择build path---->add to build path

      如果出现如下所示的文件即导入成功了。

    3.导入一些需要的包

    二.实现增删改查

    1.数据准备:创建数据库和表结构

    以下是在数据库中操作的

    //创建数据库
    create database mybase;
    //创建分类表
    CREATE TABLE sort(
    sid INT PRIMARY KEY AUTO_INCREMENT,
    sname VARCHAR(100),
    sprice DOUBLE,
    sdesc VARCHAR(500)
    );
    //初始化数据
    insert into sort(sname,sprice,sdesc) values('家电',2000, '优惠的促销');
    insert into sort(sname,sprice,sdesc) values('家具',8900, '家具价格上调,原材料涨价');
    insert into sort(sname,sprice,sdesc) values('儿童玩具',290, '赚家长的钱');
    insert into sort(sname,sprice,sdesc) values('生鲜',500.99, '生鲜商品');
    insert into sort(sname,sprice,sdesc) values('服装',24000, '换季销售');
    insert into sort(sname,sprice,sdesc) values('洗涤',50, '洗发水促销');

    通过查询语句SELECT * FROM sort;  可以看到数据插入成功了

    2.insert

    package harbin.demo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.PreparedStatement;
    
    public class JDBCDemo {
        
        public static void main(String []args) throws ClassNotFoundException, SQLException{
            
            Class.forName("com.mysql.jdbc.Driver");//注册驱动
            String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
            String username = "root"; //登陆数据库的用户名和密码
            String password = "682436498";
            Connection con = DriverManager.getConnection(url,username,password);
            
            String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES(?,?,?)";
            PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
            pst.setString(1, "汽车用品");
            pst.setInt(2, 50000);
            pst.setString(3, "疯狂涨价");
            int row = pst.executeUpdate();
            System.out.println(row);  //打印结果为1,表示插入成功了

          con.close();
          pst.close();

          
        }
    }

    在数据库中可以看到插入成功了

    3.update

    package harbin.demo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.PreparedStatement;
    
    public class JDBCDemo {
        
        public static void main(String []args) throws ClassNotFoundException, SQLException{
            
            Class.forName("com.mysql.jdbc.Driver");//注册驱动
            String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
            String username = "root"; //登陆数据库的用户名和密码
            String password = "682436498";
            Connection con = DriverManager.getConnection(url,username,password);
            
            String sql = "UPDATE sort SET sname=?,sprice=? WHERE sid=?";
            PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
            pst.setString(1, "汽车美容");
            pst.setInt(2, 49888);
            pst.setInt(3, 7);
            int row = pst.executeUpdate();
            System.out.println(row);        
            con.close();
            pst.close();
        }
    }

    数据库中结果已经更新

     4.delete

    package harbin.demo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.PreparedStatement;
    
    public class JDBCDemo {
        
        public static void main(String []args) throws ClassNotFoundException, SQLException{
            
            Class.forName("com.mysql.jdbc.Driver");//注册驱动
            String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
            String username = "root"; //登陆数据库的用户名和密码
            String password = "682436498";
            Connection con = DriverManager.getConnection(url,username,password);
            
            String sql = "DELETE FROM sort WHERE sid =?";
            PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
            pst.setInt(1, 7);
    
            int row = pst.executeUpdate();
            System.out.println(row);        
            con.close();
            pst.close();
        }
    }

    数据库中可以看到sid=7的已经被删除了

    5.select

    package harbin.demo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.PreparedStatement;
    
    public class JDBCDemo {
        
        public static void main(String []args) throws ClassNotFoundException, SQLException{
            
            Class.forName("com.mysql.jdbc.Driver");//注册驱动
            String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
            String username = "root"; //登陆数据库的用户名和密码
            String password = "682436498";
            Connection con = DriverManager.getConnection(url,username,password);
            
            String sql = "SELECT * FROM sort WHERE sname=? AND sprice=?";
            PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
            pst.setString(1,"家电");
            pst.setInt(2,2000);
            
            ResultSet rs = pst.executeQuery();
            int col = rs.getMetaData().getColumnCount();
            while(rs.next()){
                for(int i=1;i<=col;i++){
                    System.out.println(rs.getString(i));
                }
            }
        
            con.close();
            pst.close();
        }
    }

    输出结果为:

    可以看到与数据库中的一致

  • 相关阅读:
    INFORMATION_SCHEMA.COLUMNS表的字段信息
    如何取得一个数据表的所有列名
    CASE 函数
    Js定制窗口
    获取当前数据库中的所有用户表
    Js让状态栏不显示链接地址
    RA病人关节残障与软骨破坏而非骨破坏相关
    抗阿达木单抗的抗体可能与阿达木单抗治疗过程中静脉和动脉血栓事件相关
    长期应用阿达木单抗时所产生的抗抗体会影响疗效
    多普勒超声预测抗TNFα治疗类风湿关节炎患者的有效性:一项前瞻性队列研究
  • 原文地址:https://www.cnblogs.com/black-mcy/p/9971731.html
Copyright © 2011-2022 走看看