diff --git "a/47 \346\250\212\345\260\217\351\203\255/20230516 JSP\347\232\204\347\254\254\344\270\200\346\254\241\347\273\203\344\271\240.md" "b/47 \346\250\212\345\260\217\351\203\255/20230516 JSP\347\232\204\347\254\254\344\270\200\346\254\241\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..d998bde7b30d883c26aed07253f80a6c4cd1bb77 --- /dev/null +++ "b/47 \346\250\212\345\260\217\351\203\255/20230516 JSP\347\232\204\347\254\254\344\270\200\346\254\241\347\273\203\344\271\240.md" @@ -0,0 +1,196 @@ +# JSP + +### JDBC作业: + +1. MySQL中创建一个数据库student_db + +2. 库中创建student表 + +3. 表中数据如下 + +4. | 编号 | 姓名 | 性别 | + | ---- | ---- | ---- | + | 1 | 张三 | 男 | + | 2 | 李四 | 女 | + | 3 | 王五 | 男 | + + ```java + create database student_db charset utf8; + use student_db; + create table student ( + id int, + name varchar(10), + sex char + ); + insert into student values + (1,'张三','男'), + (2,'李四','女'), + (3,'王五','男'); + + select * from student; + ``` + +5. 编写java 4个类,分别实现以下功能 + + 1. 查询功能,查询student中所有数据 + + ```java + import java.sql.*; + + public class Select { + public static void main(String[] args) { + Connection conn = null; + Statement sta = null; + ResultSet res = null; + try { + Class.forName("com.mysql.jdbc.Driver"); + String url = "jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + String username = "root"; + String password = "root"; + conn = DriverManager.getConnection(url, username, password); + String sql = "select * from student"; + sta = conn.createStatement(); + res = sta.executeQuery(sql); + while (res.next()){ + int id = res.getInt("id"); + String name = res.getString("name"); + String sex = res.getString("sex"); + System.out.println(id+"--"+name+"--"+sex); + } + } catch (ClassNotFoundException e) { + System.out.println("驱动异常"); + } catch (SQLException e) { + System.out.println("sql语句错误"); + e.printStackTrace(); + }finally { + try { + if (res != null){ + res.close(); + } + if (sta != null){ + sta.close(); + } + if (conn != null){ + conn.close(); + } + } catch (SQLException e) { + System.out.println("资源释放错误"); + e.printStackTrace(); + } + } + } + } + ``` + + 2. 添加功能 + + ```java + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.SQLException; + import java.sql.Statement; + + public class Insert { + public static void main(String[] args) { + try { + Class.forName("com.mysql.jdbc.Driver"); + String url = "jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + String username = "root"; + String password = "root"; + Connection conn = DriverManager.getConnection(url, username, password); + String sql = "insert into student values (4,'王六','女')"; + Statement sta = conn.createStatement(); + int i = sta.executeUpdate(sql); + if(i > 0){ + System.out.println("添加成功"); + }else { + System.out.println("添加失败"); + } + sta.close(); + conn.close(); + } catch (ClassNotFoundException e) { + System.out.println("驱动异常"); + } catch (SQLException e) { + System.out.println("sql语句错误"); + e.printStackTrace(); + } + } + } + ``` + + 3. 修改功能 + + ```java + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.SQLException; + import java.sql.Statement; + + public class Update { + public static void main(String[] args) { + try { + Class.forName("com.mysql.jdbc.Driver"); + String url = "jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + String username = "root"; + String password = "root"; + Connection conn = DriverManager.getConnection(url, username, password); + String sql = "update student set sex = '男' where name = '王六'"; + Statement sta = conn.createStatement(); + int i = sta.executeUpdate(sql); + if(i > 0){ + System.out.println("修改成功"); + }else { + System.out.println("修改失败"); + } + sta.close(); + conn.close(); + } catch (ClassNotFoundException e) { + System.out.println("驱动异常"); + } catch (SQLException e) { + System.out.println("sql语句错误"); + e.printStackTrace(); + } + } + } + ``` + + 4. 删除功能 + + ```java + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.SQLException; + import java.sql.Statement; + + public class Delete { + public static void main(String[] args) { + try { + Class.forName("com.mysql.jdbc.Driver"); + String url = "jdbc:mysql://localhost:3306/student_db?useSSL=false&useUnicode=true&characterEncoding=utf8"; + String username = "root"; + String password = "root"; + Connection conn = DriverManager.getConnection(url, username, password); + String sql = "delete from student where id = 4"; + Statement sta = conn.createStatement(); + int i = sta.executeUpdate(sql); + if(i > 0){ + System.out.println("删除成功"); + }else { + System.out.println("删除失败"); + } + sta.close(); + conn.close(); + } catch (ClassNotFoundException e) { + System.out.println("驱动异常"); + } catch (SQLException e) { + System.out.println("sql语句错误"); + e.printStackTrace(); + } + } + } + ``` + +6. 扩展题【预习题】 + + 1. 能否实现一个类中,用四个方法来实现上面4个类的功能 + 2. 能否实现将查询的结果,封装成java对象 \ No newline at end of file