Java JDBC Mysql Navicat 简单连接数据库(笔记)

检查环境:

1:导入Mysql jar包

 

2:配置Mysql 环境变量(蓝色部分)

Java JDBC Mysql Navicat 简单连接数据库(笔记)_第1张图片Java JDBC Mysql Navicat 简单连接数据库(笔记)_第2张图片

3:检查环境(我的在C盘)出现此就是成功啦 

Java JDBC Mysql Navicat 简单连接数据库(笔记)_第3张图片

任务:计算Id为1的菜品总价

Java JDBC Mysql Navicat 简单连接数据库(笔记)_第4张图片

 


import java.sql.*;

public class Test {
    public static void main(String[] args) {
        float zongjia=0;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //shop 为数据库名
            String url = "jdbc:mysql://localhost:3306/shop?useUnicode=true&character=utf8&useSSL=false&serverTimezone=UTC";
            String user = "root";
            String password = "123456";

            //getConnection(String url,String user,String pwd)
            // 用于建立和数据库的连接,并返回表示连接的 Connection对象 --由Driver Manager类定义 用于加载JDBC驱动并且创建与数据库的连接。
            conn = DriverManager.getConnection(url, user, password);

            String sql = "select *from t_order2";
            //创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库(执行SQl)
            ps = conn.prepareStatement(sql);

           // executeQuery(String sql) --由Statement接口提供此方法:用于向数据库发送SQL语句
            //用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象
            rs = ps.executeQuery();

            //next()将游标从当前位置向下移一行
            while (rs.next()){
                //getString(int columnIndex)
                //用于获取指定字段的String类型的值,参数columnIndex代表字段的索引
                System.out.println("id:"+rs.getInt(1)+"单价:"+rs.getFloat(3));
                if (rs.getInt(1)==1){
                    zongjia+=rs.getFloat(3);
                }
            }
            System.out.println("总价:"+zongjia);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try{
                if (conn!=null){
                    conn.close();
                }
                if (ps!=null){
                    ps.close();
                }
                if (rs!=null){
                    rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
Class.forName()的作用,是初始化给定的类。我给定的 MySQL 的 Driver 类中,它在静态代码块中通过 JDBC 的 DriverManager 注册了一下驱动。也可以直接使用 JDBC 的驱动管理器注册 mysql 驱动,从而代替使用Class.forName。

 

更多JDBC常用API  : JDBC是什么?jdbc常用API有哪些? (itcast.cn)

你可能感兴趣的:(数据库,mysql,java)