java JDBC的具体实现

java JDBC的具体实现

 

package JDBC;

import java.sql.*;


public class JDBCTest {
    public static void main(String[] args){
        //1.注册驱动(用不同品牌的驱动类来实现接口)
        Connection conn = null;
        Statement stmt = null;
        ResultSet result_Set = null;
        try{
            Driver driver = new com.mysql.jdbc.Driver();//父类接口Driver ,MySQL的实现类Driver。
            DriverManager.registerDriver(driver);//DriverManager是驱动管理器。
        //2.获取连接
            /*
            什么是URL?
            统一资源定位符
            协议+IP地址+端口号port+资源名
            协议:在传送数据,提前规定好数据传输格式,例如:http,https。。。
            IP地址:网络定义某台计算机。
            port端口号:定位这台计算机上的某个服务。
            资源名:这个服务下的某个资源。

            jdbc:mysql://    是java程序和mysql通信的协议
            localhost        这是本机的IP地址
            3306             这是数据库的端口号
            trade_for_book     这是mysql数据库的名称
             */
            String url = "jdbc:mysql://localhost:3306/trade_for_book";
            String user = "root";
            String password = "002415";
            conn = DriverManager.getConnection(url,user,password);//接口Connection
        //3.获取数据库操作对象  (通过连接对象获取操作对象)、
            //creatStatement()   创建一个Statement对象来将sql语句发送到数据库
            stmt = conn.createStatement();
        //4.执行sql语句  insert delete update
            //executeUpdade   执行给定sql语句,该语句可能为INSERT UPDATE DELETE语句 返回值int为行计数

//            String sql = "insert into user(phone,user_name,address,password,role) values(";
//            sql = sql + "\"1045\",\"fuuuuc\",\"洋河\",\"002415\",\"买家\")";
//            //System.out.println(sql);
//            //转义字符为\而不是/
//            int count = stmt.executeUpdate(sql);
//            System.out.println(count);
/*
            String updatesql = "update user set phone=\"1111\" where phone=\"1045\"";
            int count = stmt.executeUpdate(updatesql);
            System.out.println(count);*/

//            String deletesql = "delete from user where phone=\"1111\"";
//            int count =stmt.executeUpdate(deletesql);
//            System.out.println(count);
            //5.处理查询结果集
            String selssql = "select * from user";
            //executeQuery(String sql)   返回单个ResultSet 对象
            result_Set = stmt.executeQuery(selssql);

            //目前mysql中返回的结果集
//            phone   user_name  address       password  role
//            ------  ---------  ------------  --------  --------
//            1001    rucks      三区201         123456    买家
//            1001    rucks      三区201         123456    卖家
//            1002    xx2        三区102         123456    卖家
//            1003    xx3        三区103         123456    卖家
//            1004    xx4        三区104         123456    卖家
//            1005    xx5        三区105         123456    卖家
//            1008    krise      江苏省           002415    卖家
//            1010    sza22      三区1楼          002415    买家
//            1011    sza5555    三区二楼         002415    买家
//            1012    6666       三区909         123456    买家
            //调用ResultSet 接口的方法
            while (result_Set.next()){//next()为光标行向下移动一位
                String phone_ = result_Set.getString(1);//getString(index)取当前行的第一个数据。所有的数据均已String类型返回,不管数据库中的类型
                //也可以与数据库类型一致   getInt()    getDouble()   等
                //也可以以列名查询  getString("phone")
                String user_name_ = result_Set.getString(2);
                String address_ = result_Set.getString(3);
                String password_ = result_Set.getString(4);
                String role_ = result_Set.getString(5);
                System.out.println(phone_+" "+user_name_+"  "+address_+"  "+password_+"  "+role_+"  ");
            }

        }catch(SQLException e){
            e.printStackTrace();
        }finally {
         //6.释放资源(若返回结果集,先关闭ResultSet)
         //先释放Statement,再释放Connection
         //分别进行try catch处理
            if (result_Set != null){
                try{
                    result_Set.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }

            if (stmt != null){
                try{
                    stmt.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }

            if (conn != null){
                try{
                    conn.close();
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }
        }


    }
}

上一篇:神经网络——损失函数、反向传播与优化器


下一篇:problem中Project'XX'is missing required library:'[路径]\XXX.jar'解决方法