1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容。

  • 数据库是为了实现一定目的按某种规则组织起来的数据的集合,现在的数据库一般是关系型数据库

  • 数据库的常用操作:

显示所有数据库: show databases; 
创建数据库:     create database XX; 
删除数据库:     drop database XX;
连接数据库:     use XX;
当前数据库包含的表:  show tables; 
  • 表常用操作:
创建表:
create table students(
   .............,
   .............,
   ..............);

删除表:
drop table  XX;

查询表中的数据:
select * from XX;

删除表中数据:
delete from students where XX = XX;
  • 使用JDBC连接数据库的一般步骤是:
       Class.forName(driverName);                //加载驱动,建立连接
       conn = DriverManager.getConnection(URL, userName, password);            //根据URL,用户名和密码与数据库建立连接
       statement = conn.createStatement();    //处理连接中的SQL语句
       resultSet =statement.executeQuery(sql);     //处理结果集

其中的处理连接中的SQL语句可以使用PreparedStatement进行预编译,它比普通的Statement对象使用起来更加灵活,更加有效率。

  • 使用JDBC释放数据库的一般操作是:先关闭结果集,在关闭连接中的SQL语句,最后关闭连接

2. 使用数据库技术改造你的系统

2.1 简述如何使用数据库技术改造你的系统。要建立什么表?截图你的表设计

建立一个名为Shopping的数据库,其中存放三张表,一张表名为cart,存放购物车信息,一张表名为score,存放商品信息,一张表名为user,存放用户信息

2.2 系统中使用到了JDBC中什么关键类?

使用了JDBC中常用的Connection DriverManager ResultSet Statement PreparedStatement

2.3 截图数据库相关模块的关键代码。关键行需要加注释。

这次的大作业其实存在很多缺陷,比如没有做到一个用户有一张自己的cart表,可选择的功能不够多等等,由于目前数据库这块不太熟悉,学的也不精,日后再进行改善

运行截图:

3. 代码量统计

3.1 统计本周完成的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
2 343 343 10 10
3 498 498 8 8
5 788 788 26 26
6 536 536 16 16
7 776 776 9 9
8 846 846 4 4
9 668 668 12 12
10 501 501 7 7
11 394 394 13 13
12 903 903 19 19
13 1332 1332 17 17
14 717 717 10 10
15 1143 1143 19 19

选做:4. 数据库学习指导

1. MySQL数据库基本操作

建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名),在自己建立的数据库上执行常见SQL语句(自己完成,不必截图)

2. 使用JDBC连接数据库与Statement

2.1 使用Statement操作数据库。完成实验任务书-题目2。截图其中的public static void displayAll()public static int insert(Student stu)的关键代码并出现自己的学号。


其中的connect()方法是用来实现连接数据库的

2.2 如果要完成根据指定姓名查询学生数据,即完成函数public Student findStuByName(String name),其中的sql语句怎么写?

String sql="select *from student where name = " + "'" + name + "'";

2.3 你认为使用JDBC操作数据库的套路是什么?

1.加载驱动,建立连接;
2.使用URL,用户名和密码与数据库建立连接;
3.处理连接中的SQL语句;
4.处理结果集;
5.异常处理;
6.释放资源。

3. PreparedStatement与参数化查询

3.1 使用PreparedStatement,编写public Student findStuByName(String name),实现根据name进行查找, 。(粘贴关键代码及运行截图,运行截图中需出现学号,比较2.2,说明两种实现的不同)

3.2 如果要实现模糊查找,怎么修改?比如编写public List<Student> findStusByName(String name),可根据name进行模糊匹配,如将姓名中包含zhang的同学都找出来。

posted on 2017-12-23 20:45  谢晗-网络1613  阅读(218)  评论(2编辑  收藏  举报