zoukankan      html  css  js  c++  java
  • JDBC浅应用

     1 DriverManager: 此类管理数据库驱动程序列表。使用通信协议将来自java应用程序的连接请求与适
     2 当的数据库驱动程序匹配。
     3 
     4 Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用
     5 DriverManager对象来管理这种类型的对象。
     6 
     7 Connection:该接口具有用于连接数据库的所有方法。连接对象表示通信上下文,数据库的所有通信
     8 仅通过连接对象。
     9 
    10 Statement:使用从此接口创建的对象将SQL语句提交到数据库。用于对数据库进行通用访问。在运行时使用静态SQL语句时很有用。Statement接口不能接受参数。
    11 
    12 PreparedStatement 多次使用SQL语句时使用。PreparedStatement接口在运行时接
    13 受输入参数。
    14 
    15 ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭
    16 代器,允许我们移动其数据。
    17 
    18 SQLException:此类处理数据库应用程序中发生的任何异常。

    使用jdbc,注册用户信息;并且打印成功还是失败到控制台:

      刚开始的user_info表

     1 public static void main(String[] args) {
     2 
     3         // 注册用户 往外面uesr-info表里面插入一条记录
     4 
     5         System.out.println("请输入用户名");
     6         Scanner scan = new Scanner(System.in);
     7         String name = scan.next();
     8 
     9         System.out.println("请输入密码");
    10         String pass = scan.next();
    11 
    12         StringBuilder ss = new StringBuilder();
    13         ss.append("insert into user_info(uname,upass)values('").append(name).append(" ', ").append(pass).append(" )");
    14 
    15         System.out.println(ss.toString());
    16 
    17         // 注册
    18         try {
    19             Class.forName("com.mysql.jdbc.Driver");
    20 
    21             Connection connection = DriverManager.getConnection(url, user, password);
    22             Statement statement = connection.createStatement();
    23             int result = statement.executeUpdate(ss.toString());
    24 
    25             if (result > 0) {
    26                 System.out.println("注册成功");
    27             } else {
    28                 System.out.println("注册失败");
    29             }
    30             statement.close();
    31             connection.close();
    32 
    33         } catch (Exception e) {
    34             // TODO Auto-generated catch block
    35             e.printStackTrace();
    36         }
    37 
    38     }

    结果:

     使用jdbc根据用户id修改用户名称:

     1     public static void main(String[] args) {
     2 
     3         // 根据用户id修改用户名称
     4 
     5         System.out.println("请输入你要修改的用户id");
     6         Scanner scan = new Scanner(System.in);
     7         String id = scan.next();
     8 
     9         System.out.println("请输入你要修改的用户名");
    10         String name = scan.next();
    11 
    12         // ? 占位符
    13         String sql = "update user_info set uname=? where uid=?";
    14 
    15         // 预处理SQL语句,这个操作数据库的对象,比较智能
    16         // 会根据我们的参数,自己来给SQL进行预处理
    17 
    18         try {
    19             Class.forName("com.mysql.jdbc.Driver");
    20 
    21             Connection connection = DriverManager.getConnection(url, user, password);
    22 
    23             // 获取一个操作数据库的对象;获取一个预处理的对象
    24             // statement 只能执行静态的sql
    25             // PreparedStatement 自己放参数,自己调用
    26             PreparedStatement ps = connection.prepareStatement(sql);
    27 
    28             // 给SQL语句里面的占位符进行赋值
    29             ps.setString(1, name);// 给SQL第一个问号赋值
    30             ps.setInt(2, Integer.parseInt(id));// 给第二个赋值
    31 
    32             // 执行SQL
    33             int ex = ps.executeUpdate();// 不要加SQL
    34             if (ex > 0) {
    35                 System.out.println("修改成功");
    36             } else {
    37                 System.out.println("修改失败");
    38             }
    39             
    40             ps.close();
    41             connection.close();
    42 
    43         } catch (Exception e) {
    44             // TODO Auto-generated catch block
    45             e.printStackTrace();
    46         }
    47 
    48     }

    结果:

     

  • 相关阅读:
    利用CMake生成动态或静态链接库工程
    pdfminer的TextConverter得到文件字符无空格解决方法
    从面向对象的设计模式看软件设计
    google python/c++ code style naming
    python入门之random模块
    python入门之time模块和datetime模块
    关于使用rancher部署k8s集群的一些小问题的解决
    centos虚拟机安装指定版本docker
    k8s的nfs存储外挂设置过程
    【Jenkins】执行yarn install报错:error An unexpected error occurred:"... ... :Unexpected end of JSON input"
  • 原文地址:https://www.cnblogs.com/dabu/p/12571040.html
Copyright © 2011-2022 走看看