image.png

    1. package com.itheima.jdbc;
    2. import org.junit.Test;
    3. import java.sql.Connection;
    4. import java.sql.DriverManager;
    5. import java.sql.Statement;
    6. /**
    7. * JDBC API 详解:Statement Statement是陈述的意思
    8. */
    9. public class JDBCDemo4_Statement {
    10. // 定义一个测试方法
    11. /**
    12. * 执行DML语句 update 改的操作(DML语句)
    13. * @throws Exception
    14. */
    15. @Test
    16. public void testDML() throws Exception{
    17. // 1. 注册驱动
    18. // Class.forName("com.mysql.jdbc.Driver"); // mysql5之后的驱动jar包,的注册驱动,可以不写了
    19. // 2. 获取连接:如果连接的是本机mysql并且端口是默认的3306 可以简化,(简化,就是端口号和ip不写)
    20. // 这里的127.0.0.1 可以写成localhost 不想要红色警告可以设置参数后面的键值对(前面加问号)
    21. // useSSL=false (Java的键值对是 键=值 这里不能有空格
    22. String url = "jdbc:mysql:///db1?useSSL=false"; // db1 是数据库名
    23. String userName = "root";
    24. String passWord = "123456";
    25. Connection connection = DriverManager.getConnection(url, userName, passWord);
    26. // 3. 定义sql
    27. String sql = "update account set money = 3000 where id = 1"; // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0
    28. // 4. 获取执行sql的对象statement statement是陈述的意思
    29. Statement stmt = connection.createStatement();
    30. // 5. 执行sql // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0
    31. int count = stmt.executeUpdate(sql); // 执行完DML语句 受影响的行数
    32. // 6. 处理结果
    33. // System.out.println(count); // 输出1 代表一行数据被改变
    34. if (count > 0){
    35. System.out.println("执行成功");
    36. } else {
    37. System.out.println("执行失败");
    38. }
    39. // 7. 释放资源 (有两个资源要释放,一个是Connection 一个是statement
    40. stmt.close(); // 先释放statement类的对象(因为他是后开的资源,所以先释放)
    41. connection.close(); // connection是先开的,所以后释放
    42. }
    43. // 定义一个测试方法
    44. /**
    45. * 执行DDL语句
    46. * @throws Exception
    47. */
    48. @Test
    49. public void testDDL() throws Exception{
    50. // 1. 注册驱动
    51. // Class.forName("com.mysql.jdbc.Driver"); // mysql5之后的驱动jar包,的注册驱动,可以不写了
    52. // 2. 获取连接:如果连接的是本机mysql并且端口是默认的3306 可以简化,(简化,就是端口号和ip不写)
    53. // 这里的127.0.0.1 可以写成localhost 不想要红色警告可以设置参数后面的键值对(前面加问号)
    54. // useSSL=false (Java的键值对是 键=值 这里不能有空格
    55. String url = "jdbc:mysql:///db1?useSSL=false"; // db1 是数据库名
    56. String userName = "root";
    57. String passWord = "123456";
    58. Connection connection = DriverManager.getConnection(url, userName, passWord);
    59. // 3. 定义sql 现在这里执行的是DDL语句 (数据库自定义语言,例如创建数据库)
    60. String sql = "drop database db2"; // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0
    61. // 4. 获取执行sql的对象statement statement是陈述的意思
    62. Statement stmt = connection.createStatement();
    63. // 5. 执行sql // 该数据表中没有id = 5的字段 执行sql语句时:返回 值为0
    64. int count = stmt.executeUpdate(sql); // 执行完DDL语句,返回的可能是0,
    65. // 因为drop删除数据库操作其实删除成功了,但是还是会返回0
    66. // 6. 处理结果
    67. // System.out.println(count); // 输出1 代表一行数据被改变
    68. // if (count > 0){
    69. // System.out.println("执行成功");
    70. // } else {
    71. // System.out.println("执行失败");
    72. // }
    73. System.out.println(count);
    74. // 7. 释放资源 (有两个资源要释放,一个是Connection 一个是statement
    75. stmt.close(); // 先释放statement类的对象(因为他是后开的资源,所以先释放)
    76. connection.close(); // connection是先开的,所以后释放
    77. }
    78. }