• JDBC---Mysql(1)


    使用MySQL需要导mysql-connector-java-5.1.7-bin.jar包

    所有的java.sql.Driver实现类,都提供了static块,块内的代码就是把自己注册到DriverManager中。

    1.配置四大参数

    1 String driverClassName="com.mysql.jdbc.Driver";
    2 String url="jdbc:mysql://localhost:3306/数据库名";
    3 String username="root";
    4 String password="密码";

    2.加载数据库驱动

    1 Class.forName(driverClassName);
    2 
    3 //等同于上边的加载驱动
    4 
    5 //com.mysql.jdbc.Driver driver= new com.mysql.jdbc.Driver();
    6 
    7 //DriverManager.registerDriver(driver);

    3.创建连接

    1 Connection con=DriverManager.getConnection(url,user,password);

    4.得到连接后就可对数据库进行增、删、改、查等操作

    (1)对数据库增删改

      a)通过Connection对象创建Statement,Statement语句的发送器,它的功能是向数据库发送sql语句!

      b)调用它的int executeUpdate(String sql),它可以发送DML,DDL

    Statement stmt=con.createStatement();
    //使用Statement发送sql语句
    
    
    //String sql="insert into stu values('ITCAST-0004','zhaoliu',19)";
    //String sql="update stu set age=25 where name='zhaoliu'";
    String sql="dalete from stu";
    //返回所影响的行数
    int r=stmt.executeUpdate(sql);

    (2)对数据库进行查询

    查询后返回表格----对查询返回的“表格”进行解析!

     1 String sql="select * from stu";
     2 //调用Statement的ResultSet rs(返回值) executeQuery(String querysql)
     3 //返回的是结果集
     4 ResultSet rs=stmt.executeQuery(sql);
     5 
     6 
     7 //解析ResultSet
     8 while(rs.next){//把光标向下移动一行,并判断下一行是否存在!
     9  //可以以下标的方式获取
    10  String str=rs.getString(1);    
    11  //可以以字段名称获取
    12  String str2=rs.getString("name");
    13  System.out.println(str);
    14  System.out.println(str2);    
    15 }

    查询结束后:

    1 rs.close();
    2 stmt.close();
    3 con.close();

    //规范代码形式

     1     public void fun3() throws ClassNotFoundException, SQLException {
     2         // 引用在外边给
     3         Connection con = null;// 定义引用
     4         Statement stmt = null;
     5         ResultSet rs=null;
     6         try {
     7             // 一、得到连接
     8             String driverClassName = "com.mysql.jdbc.Driver";
     9             String url = "jdbc:mysql://localhost:3306/mydb3";
    10             String username = "root";
    11             String password = "123456";
    12 
    13             Class.forName(driverClassName);
    14             con = DriverManager.getConnection(url, username, password);// 实例化
    15 
    16             // 二、创建Statement
    17             stmt=con.createStatement();//createStatement(int,int);这两个参数是用来确定创建的statement能生成什么样的结果集
    18             String sql="select * from stu";
    19             rs=stmt.executeQuery(sql);
    20 //            rs.beforeFirst();
    21             rs.last();
    22             System.out.println("行数:"+rs.getRow());
    23             rs.beforeFirst();
    24             //三、循环遍历rs,打印其中数据
    25             /*while(rs.next()){
    26                 System.out.println(rs.getString(1));//数据库中第一例的值
    27             }*/
    28             //获取结果集元数据在获取列数
    29             int count=rs.getMetaData().getColumnCount();
    30             
    31             while(rs.next())//遍历行
    32             {
    33                 int i;
    34                 for(i=1;i<=count;i++){//遍历列
    35                     System.out.print(rs.getMetaData().getColumnName(i)+":"+rs.getString(i)+"	");
    36                 }
    37                 System.out.println("
    ");
    38             }
    39         } catch (Exception e) {
    40             throw new RuntimeException(e);
    41         } finally {
    42             // 关闭
    43             if(rs!=null) rs.close();
    44             if(stmt!=null) stmt.close();
    45             if(con!=null) con.close();
    46         }    
    47     }
  • 相关阅读:
    数据结构与算法题目集(中文)7-25 朋友圈 (25分) 并查集
    数据结构与算法题目集(中文)7-24 树种统计 (25分)
    数据结构与算法题目集(中文)7-23 还原二叉树 (25分)
    数据结构与算法题目集(中文)7-22 堆栈模拟队列 (25分)
    数据结构与算法题目集(中文)7-21 求前缀表达式的值 (25分)
    [SDOI2018]反回文串
    ARC 064 F-Rotated Palindromes
    AGC014-F Strange Sorting
    AGC011-E Increasing Numbers
    AGC011-C Squared Graph
  • 原文地址:https://www.cnblogs.com/xjs1874704478/p/10711930.html
Copyright © 2020-2023  润新知