千家信息网

JDBC连接MySQL操作步骤

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,package testJDBC;import java.sql.*;/**@Author 小猪上天@Email zhuhuaikuan@gmail.com@Data 2019/8/28 14:27@
千家信息网最后更新 2025年01月21日JDBC连接MySQL操作步骤

package testJDBC;

import java.sql.*;

/**

  • @Author 小猪上天
  • @Email zhuhuaikuan@gmail.com
  • @Data 2019/8/28 14:27
  • @Version V1.0
  • @description JDBC 查询数据库示例
    */
    public class JDBCdemo1 {

    public static void main(String[] args){
    Connection conn = null;
    Statement statement = null;
    ResultSet resultSet = null;
    //1.注册数据库驱动
    try {

        Class.forName("com.mysql.jdbc.Driver");    //加载一个类到内存中,该类中有一静态代码块,该代码块中有注册驱动的代码    //静态代码块伪代码如下:DriverManager.registerDriver( new Driver() )    //2.获取数据库连接    String url = "jdbc:mysql://localhost:3306/" +            "jt_db" +            "?characterEncoding=utf-8";    /**     * jdbc:mysql:                   协议名     * localhost:3306               主机地址及端口     * jt_db                        数据库名     * ?characterEncoding=utf-8     ?+参数     */    String user = "root";           //数据库连接用户名    String passWord = "123456";     //数据库连接密码   conn = DriverManager.getConnection(url, user, passWord);    //3.获取传输器    statement = conn.createStatement();    /**     * Statement s = con.createStatement();     * PreparedStatement p = con.preparedStatement();     *     *PreparedStatement是Statement的子类     * 可以使用占位符,是预编译的,批处理比Statement效率高     *     * 例:     *  String sql = "update user set password=? where username=?";     *   preparedStatement = conn.prepareStatement(sql);     *   //preparedStatement.setString(第N个问号,代表的变量);     *   preparedStatement.setString(1,password);     *   preparedStatement.setString(2,username);     *   preparedStatement.executeUpdate();     *     */    //4.执行sql语句,返回执行结果    String sql = "select * from account";    /**     * executeQuery(); 用于产生单个结果集的语句,被用来执行 SELECT 语句,返回值是一个ResultSet结果集对象,其中包括sql查询的结果     * executeUpdate(); 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,返回一个int值,记录受影响记录行数     */    resultSet = statement.executeQuery(sql);    //5.处理结果    /**     * ResultSet 结果集对象     *  ResultSet 是执行查询类的sql语句后返回的结果集对象 其中包括sql查询的结果     *  a.遍历数据行的方法     *  next() - 使指向数据行的索引向下移动一行     *  b.获取数据的方法     *  getInt(int columnIndex)     *  getInt(String columnLable)     *  getString(int columnIndex)     *  getString(String columnLable)     *  getDouble(int columnIndex)     *  getDouble(String columnLable)     *  getObject(int columnIndex)     *  getObject(String columnLable)     */    while (resultSet.next()) {        int id = resultSet.getInt("id");        String name = resultSet.getString("name");        double money = resultSet.getDouble("money");        System.out.println(id + ":" + name + ":" + money);    }}catch (Exception e){    e.printStackTrace();}finally { //6.释放资源    //越晚获取越先释放!!    //最好将释放资源代码放在finally里 if(resultSet!=null) {     try {         resultSet.close();     } catch (SQLException e) {         e.printStackTrace();     } finally {         resultSet = null;     } }    if(statement!=null) {        try {            statement.close();        } catch (SQLException e) {            e.printStackTrace();        } finally {            statement = null;        }    }    if(conn!=null) {        try {            conn.close();        } catch (SQLException e) {            e.printStackTrace();        } finally {            conn = null;        }    }}

    }
    }

0