检查环境:
1:导入Mysql jar包
2:配置Mysql 环境变量(蓝色部分)
3:检查环境(我的在C盘)出现此就是成功啦
任务:计算Id为1的菜品总价
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)