我是靠谱客的博主 故意黄豆,这篇文章主要介绍Java高级特性 - JDBC(上),现在分享给大家,希望可以做个参考。

第一关

编程要求

在右侧编辑器补充代码,完成下列相应任务:
加载数据库驱动;【平台数据库连接的用户(user)为root,密码(password)为123123】
创建数据库mysql_db;
创建表student。
student表结构为:
| 字段名 | 类型 | 备注 | 约束 |
| :————: | :————: | :————: |
| id | int | 学生id | 非空 |
| name | varchar(20) | 学生姓名 | 无 |
| sex | varchar(4) | 学生性别 | 无 |
| age | int | 学生年龄 | 无 |
测试说明

平台会对你编写的代码进行测试: 测试输入:无 预期输出: id INT(11) name VARCHAR(20) sex
VARCHAR(4) age INT(11)

实训代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.sql.*; public class jdbcConn { public static void getConn() { /********** Begin **********/ try { //1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } /********** End **********/ /********** Begin **********/ Connection conn = null; Statement statement = null; //2.建立连接并创建数据库和表 String url = "jdbc:mysql://127.0.0.1:3306/"; String user = "root"; String password = "123123"; try{ conn = DriverManager.getConnection(url,user,password); statement = conn.createStatement(); String sql1="drop database if exists mysql_db"; String sql2="create database mysql_db"; statement.executeUpdate(sql1);//执行sql语句 statement.executeUpdate(sql2); statement.executeUpdate("use mysql_db"); String sql = "create table student("+ "id int not null,"+ "name varchar(20),"+ "sex varchar(4),"+ "age int)"; statement.executeUpdate(sql); }catch (SQLException e){ e.printStackTrace(); } /********** End **********/ finally { try { if(statement!=null) statement.close(); if(conn!=null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }

第二关

编程要求

在右侧编辑器补充代码,向上一章节中已创建好的数据库mysql_db中的表student中插入数据,并将插入的数据进行输出:
| id | name | sex | age |
| :————: | :————: | :————: |
| 1 | 张三 | 男 | 19 |
| 2 | 李四 | 女 | 18 |
| 3 | 王五 | 男 | 20 |
提示:已为你封装好student类,可在右侧文件夹中查看,此类可直接使用。
测试说明

平台会对你编写的代码进行测试: 测试输入:无 预期输出: 1 张三 男 19 2 李四 女 18 3 王五 男 20

实训代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package jdbc; import java.sql.*; import java.util.ArrayList; import java.util.List; public class jdbcInsert { public static void insert(){ /********** Begin **********/ try { //加载驱动 Class.forName("com.mysql.jdbc.Driver" ); } catch (ClassNotFoundException e) { e.printStackTrace(); } /********** End **********/ Connection conn = null; PreparedStatement statement = null; /********** Begin **********/ //连接并插入数据 try{ conn = DriverManager.getConnection ("jdbc:mysql://127.0.0.1:3306/mysql_db","root","123123" ); PreparedStatement s = conn.prepareStatement("insert into student values(?,?,?,?)"); s.setInt(1,1);s.setString(2,"张三");s.setString(3,"男");s.setInt(4,19); s.executeUpdate(); s.setInt(1,2);s.setString(2,"李四");s.setString(3,"女");s.setInt(4,18); s.executeUpdate(); s.setInt(1,3);s.setString(2,"王五");s.setString(3,"男");s.setInt(4,20); s.executeUpdate(); s=conn.prepareStatement("select * from student"); ResultSet r = s.executeQuery(); while (r.next()) { System.out.println(r.getString(1)+" "+r.getString(2)+" "+r.getString(3)+" "+r.getString(4)); } } catch (SQLException e) { e.printStackTrace(); } /********** End **********/ finally { try { if (statement != null) statement.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }

第三关

编程要求

这里是引用根据提示,在右侧编辑器补充代码,编写一条新增SQL语句和任意一条错误的SQL语句,提交事务;要求第一条新增语句在数据库中被修改,其后错误SQL语句不执行。
新增插入语句具体要求如下:
在mysql_db数据库student表中新增一条id为4,name为赵六,sex为女,age为21的数据。
提示:每一条SQL语句之后都可提交事务。
测试说明

平台会对你编写的代码进行测试: 测试输入:无 预期输出: 1 张三 男 19 2 李四 女 18 3 王五 男 20 4 赵六 女 21

实训代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package jdbc; import java.sql.*; public class jdbcTransaction { public static void transaction(){ try { Class.forName("com.mysql.jdbc.Driver" ); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = null; PreparedStatement ps = null; /********** Begin **********/ //连接数据库并开启事务 try { conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/mysql_db","root","123123" ); conn.setAutoCommit(false); ps = conn.prepareStatement("insert into student(id,name,sex,age) values(4,'赵六','女',21)"); ps.executeUpdate(); conn.commit(); ps = conn.prepareStatement("insert in student(id,name,sex,age) values(5,'钱七','男',18)"); ps.executeUpdate(); conn.commit(); } catch (SQLException e) { try { //事务回滚 conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } } /********** End **********/ finally { try { if(ps!=null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e1) { e1.printStackTrace(); } } } }

最后

以上就是故意黄豆最近收集整理的关于Java高级特性 - JDBC(上)的全部内容,更多相关Java高级特性内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部