zoukankan      html  css  js  c++  java
  • JDBC原生连接数据库


    JDBC插入数据库
    // 1. 注册驱动
    // 使用java.sql.DriverManager类的静态方法registerDriver(Driver driver)
    // Driver是一个接口,参数传递:MySQL驱动程序的实现类
    // DriverManager.registerDriver(new Driver());
    // 查看驱动类源码,注册两次驱动,浪费资源
    Class.forName("com.mysql.jdbc.Driver");
    // 2. 获得连接
    // uri:数据库地址 jdbc:mysql://连接主机ip:端口号//数据库名字
    String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
    // static Connection getConnection(String url, String user, String password)
    // 返回值是java.sql.Connection接口的实现类,在MySQL驱动程序中
    Connection conn = DriverManager.getConnection(url, "root", "root");
    System.out.println(conn);// com.mysql.jdbc.JDBC4Connection@36d650da
    // 3. 获得语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
    //conn对象,调用方法 Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
    //返回的是Statement接口的实现类对象,在MySQL驱动程序中
    Statement stat = conn.createStatement();
    System.out.println(stat);//com.mysql.jdbc.StatementImpl@30563456
    // 4. 执行sql语句
    //通过执行者对象调用方法执行SQL语句,获取结果
    //int executeUpdate(String sql) 执行数据库中的SQL语句,仅限于insert,update,delete
    //返回值int,操作成功数据库的行数
    int row = stat.executeUpdate("INSERT INTO game(id,name) VALUES(6,'疯狂涨价')");
    System.out.println(row);
    // 5. 释放资源
    stat.close();
    conn.close();


    JDBC插入数据库链接数据库
    // 1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    // 2.获取连接对象
    String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
    Connection conn = DriverManager.getConnection(url, "root", "root");
    // 3.获取执行SQL语句
    Statement stat = conn.createStatement();
    // 拼写SQL语句
    String sql = "select * from game";
    // 4.调用执行者对象方法,执行SQL语句获取结果集
    // 返回的是ResultSet接口的实现类对象,实现类在mysql驱动中
    ResultSet rs = stat.executeQuery(sql);
    // System.out.println(rs);//com.mysql.jdbc.JDBC4ResultSet@18cef0a
    // 5.处理结果集
    // ResultSet接口的方法 boolean next() 有结果集true,没有结果集返回false
    while (rs.next()) {
    // 获取每列的数据,使用的是ResultSet接口的方法getXXX
    int id = rs.getInt("id");// 相当于rs.getInt(1);这个方法有弊端
    String name = rs.getString("name");
    System.out.println(id+" "+name+" ");

    }
    // 6.关闭资源
    rs.close();
    stat.close();
    conn.close();


    //封装对象
    public static void main(String[] args) throws Exception {

    // 1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    // 2.获取连接对象
    String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
    Connection conn = DriverManager.getConnection(url, "root", "root");
    // 3.获取执行SQL语句
    Statement stat = conn.createStatement();
    // 拼写SQL语句
    String sql = "select * from game";
    // 4.调用执行者对象方法,执行SQL语句获取结果集
    // 返回的是ResultSet接口的实现类对象,实现类在mysql驱动中
    ResultSet rs = stat.executeQuery(sql);
    // System.out.println(rs);//com.mysql.jdbc.JDBC4ResultSet@18cef0a
    // 5.处理结果集
    // ResultSet接口的方法 boolean next() 有结果集true,没有结果集返回false
    Game game=new Game();
    while (rs.next()) {
    // 获取每列的数据,使用的是ResultSet接口的方法getXXX
    int id = rs.getInt("id");// 相当于rs.getInt(1);这个方法有弊端
    String name = rs.getString("name");
    System.out.println(id+" "+name+" ");
    //如果想要封装成对象

    game.setId(String.valueOf(id));
    game.setName(name);
    System.out.println(game.toString());
    }
    // 6.关闭资源
    rs.close();
    stat.close();
    conn.close();

    }

     需要的jar

    mysql-connector-java

  • 相关阅读:
    编码问题
    Linux环境给文件重命名
    FIFO简记
    图像去模糊
    matlab直方图均衡,使用向量优化
    研究方向
    FPGA学习笔记之格雷码、边沿检测、门控时钟
    [转]关于凸优化的一些简单概念
    SSD果然劲爆!
    Qunie问题
  • 原文地址:https://www.cnblogs.com/foreverstudy/p/10138599.html
Copyright © 2011-2022 走看看