
package com.itheima.jdbc;import org.junit.Test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/*** JDBC API 详解:Statement Statement是陈述的意思*/public class JDBCDemo4_Statement { // 定义一个测试方法 /** * 执行DML语句 update 改的操作(DML语句) * @throws Exception */ @Test public void testDML() throws Exception{ // 1. 注册驱动 // Class.forName("com.mysql.jdbc.Driver"); // mysql5之后的驱动jar包,的注册驱动,可以不写了 // 2. 获取连接:如果连接的是本机mysql并且端口是默认的3306 可以简化,(简化,就是端口号和ip不写) // 这里的127.0.0.1 可以写成localhost 不想要红色警告可以设置参数后面的键值对(前面加问号) // useSSL=false (Java的键值对是 键=值 这里不能有空格 String url = "jdbc:mysql:///db1?useSSL=false"; // db1 是数据库名 String userName = "root"; String passWord = "123456"; Connection connection = DriverManager.getConnection(url, userName, passWord); // 3. 定义sql String sql = "update account set money = 3000 where id = 1"; // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0 // 4. 获取执行sql的对象statement statement是陈述的意思 Statement stmt = connection.createStatement(); // 5. 执行sql // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0 int count = stmt.executeUpdate(sql); // 执行完DML语句 受影响的行数 // 6. 处理结果 // System.out.println(count); // 输出1 代表一行数据被改变 if (count > 0){ System.out.println("执行成功"); } else { System.out.println("执行失败"); } // 7. 释放资源 (有两个资源要释放,一个是Connection 一个是statement stmt.close(); // 先释放statement类的对象(因为他是后开的资源,所以先释放) connection.close(); // connection是先开的,所以后释放 } // 定义一个测试方法 /** * 执行DDL语句 * @throws Exception */ @Test public void testDDL() throws Exception{ // 1. 注册驱动 // Class.forName("com.mysql.jdbc.Driver"); // mysql5之后的驱动jar包,的注册驱动,可以不写了 // 2. 获取连接:如果连接的是本机mysql并且端口是默认的3306 可以简化,(简化,就是端口号和ip不写) // 这里的127.0.0.1 可以写成localhost 不想要红色警告可以设置参数后面的键值对(前面加问号) // useSSL=false (Java的键值对是 键=值 这里不能有空格 String url = "jdbc:mysql:///db1?useSSL=false"; // db1 是数据库名 String userName = "root"; String passWord = "123456"; Connection connection = DriverManager.getConnection(url, userName, passWord); // 3. 定义sql 现在这里执行的是DDL语句 (数据库自定义语言,例如创建数据库) String sql = "drop database db2"; // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0 // 4. 获取执行sql的对象statement statement是陈述的意思 Statement stmt = connection.createStatement(); // 5. 执行sql // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0 int count = stmt.executeUpdate(sql); // 执行完DDL语句,返回的可能是0, // 因为drop删除数据库操作其实删除成功了,但是还是会返回0 // 6. 处理结果 // System.out.println(count); // 输出1 代表一行数据被改变 // if (count > 0){ // System.out.println("执行成功"); // } else { // System.out.println("执行失败"); // } System.out.println(count); // 7. 释放资源 (有两个资源要释放,一个是Connection 一个是statement stmt.close(); // 先释放statement类的对象(因为他是后开的资源,所以先释放) connection.close(); // connection是先开的,所以后释放 }}