201521123082 《Java程序设计》第14周学习总结

标签(空格分隔):java


1. 本周学习总结

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

Answer:

1.一张图初步了解数据库与文件:

2.数据库操作:

MySQL命令整理

3.JDBC

1.两张图了解架构和工作原理:





2.JDBC编程一般步骤

4.DAO模式:

原理:将获得连接与释放连接的操作封装起来,提供访问数据库的统一入口

文章推荐:DAO-数据访问对象(Data Access Object) 模式


2. 书面作业

1. MySQL数据库基本操作

建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)

在自己建立的数据库上执行常见SQL语句(截图)

-参考:实验任务书-题目1

Answer:

题目基本要求的完成:

其他SQL语句的应用:


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

2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)

Answer:

初步调试的结果:



Statement测试:



按题目要求对Statement改进,其中举一个方法实现数据库操作的功能,其他的方法类似:

  1. //实现删除指定id学生的信息
  2. public int deleteStudent(int id) throws SQLException {
  3. String sql="delete from studen where id="+id;
  4. return statement.executeUpdate(sql);
  5. }

2.2 使用JDBC操作数据库主要包含哪几个步骤?

-参考:实验任务书-题目2

Answer:

见图:


3. PreparedStatement与参数化查询

3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)

Answer:

PS:实验中提供的JDBCUtil.java将重复内容封装起来实现复用,这些代码就挺关键的。

根据PreparedStatement改进的两个方法举例:

  1. //根据指定的name,按姓名查找学生 201521123082
  2. public static STUDENT getStudentByName(String name) throws SQLException {
  3. String sql = "select * from student where name = ?";
  4. pStatement = connection.prepareStatement(sql);
  5. pStatement.setString(1, name);
  6. resultSet = pStatement.executeQuery();
  7. STUDENT student = new STUDENT(resultSet.getInt(1), resultSet.getString(2), resultSet.getString(3),
  8. resultSet.getInt(4), resultSet.getDate(5).toString());
  9. return student;
  10. }
  11. //输出个范围内的所有学生 201521123082
  12. public static void displayStudentBetween(String begin, String end) throws SQLException {
  13. String sql = "select * from student where birthday between ? and ?;";
  14. pStatement = connection.prepareStatement(sql);
  15. pStatement.setString(1, begin);
  16. pStatement.setString(2, end);
  17. resultSet = pStatement.executeQuery();
  18. System.out.println("id\tstuno\t\tname\t\tage");
  19. while (resultSet.next()) {
  20. System.out.print(resultSet.getInt("id")+"\t");
  21. System.out.print(resultSet.getString("stuno")+"\t\t");
  22. System.out.print(resultSet.getString("name")+"\t\t");
  23. System.out.print(resultSet.getInt("age"+"\n"));
  24. }
  25. }

3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)

参考:实验任务书-题目3

Answer:


4. JDBCUtil与DAO

4.1 粘贴一段你认为比较有价值的代码,出现学号

Answer:

看了实验任务书后,其实实验五就是希望通过DAO(Data Access Object)模式实现对数据库中的学生信息进行学生的增删改查的功能。

如下实现增加和删除功能:


4.2 使用DAO模式访问数据库有什么好处?

参考:实验任务书-题目5

Answer:

我们把对据库的操作封装在一个类中,这种方法称之为DAO模式。DAO模式实现了数据访问和业务逻辑分离,便于数据维护。在这个实验五中建立了StudentDao接口,接口中定义了对数据库进行操作的各种方法。只要编写一些单独的类来实现接口中定义的方法就好了。


5. 使用数据库改造购物车系统

5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。

Answer:

添加和删除购物车的商品部分源码如下:


5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?

Answer:

1.个人觉得,在安全领域差别非常大。文件中的数据谁都可以访问,而数据库中的文件需要有用户名和密码才能访问,保密性较强。

2.数据库读取的效率比较高而且容量大,关键是数据库相对于文件便于管理,这个更方便运用于软件和系统。


3. 码云

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

Answer:


4.课外阅读

4.1 JDBC(TM) Database Access

Answer:

JDBC简介

JDBC API是一个Java API,可以访问任何类型的表格数据,特别是存储在关系数据库的数据。

JDBC可以帮助编写管理这三项规划活动的Java应用程序:

(1)连接到数据源,如数据库

(2)发送的查询和更新语句发送到数据库

(3)检索和处理在回答从数据库接收到查询结果

JDBC包括四个组件:

(1)在JDBC API

(2)JDBC驱动程序管理器

(3)JDBC测试套件

(4)JDBC-ODBC桥

JDBC架构:

两层和三层处理模型




4.2 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分

4.3 mysq数据库管理工具navicat基本使用方法

201521123082 《Java程序设计》第14周学习总结的更多相关文章

  1. 2018面向对象程序设计(Java)第14周学习指导及要求

    2018面向对象程序设计(Java)第14周学习指导及要求(2018.11.29-2018.12.2)   学习目标 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及 ...

  2. 面向对象程序设计(JAVA) 第14周学习指导及要求

    2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2)   学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 201521123038 《Java程序设计》 第九周学习总结

    201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20175221 2018-2019-2 《Java程序设计》第一周学习总结

    20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...

  8. 20175314 《Java程序设计》第九周学习总结

    20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...

  9. 20175314 《Java程序设计》第二周学习总结

    20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...

  10. 20155312 2016-2017-2 《Java程序设计》第九周学习总结

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...

随机推荐

  1. js获取url,截取url参数,截取url后文件名

    获取当前: var url = window.location.href; 百度为例: var url=window.location.href; console.info(url); http:// ...

  2. 怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统

    snapman是一个简单而强大的团队协作软件,在上面的信息可以是数据.可以是规则.也可以是自动化代码:最重要的它是一个可以开发的协作平台,所有信息都可以作用到所有人或机器上,大大减少了工作的复杂度.软 ...

  3. iOS获取用户设备崩溃日志并分析

    项目最近发布,部分用户在内侧使用,正好遇到一些问题,由于用户在其他城市,所以对于用户设备产生的崩溃日志,不好直接拿设备连接电脑. 对于这种情况,我们可以这样: 1.引导用户开启iOS设备设置-> ...

  4. python进阶(6):多态,封装

    昨天说了面向对象三大特性的继承,今天来说多态和封装,很多其他程序员说python不支持多态没有多态,并不是python没有多态,而是python处处皆多态.今天的讲课重点会放在封装. 一.多态 1.多 ...

  5. SSE图像算法优化系列十:简单的一个肤色检测算法的SSE优化。

    在很多场合需要高效率的肤色检测代码,本人常用的一个C++版本的代码如下所示: void IM_GetRoughSkinRegion(unsigned char *Src, unsigned char ...

  6. android 学习Layout布局的使用

    android 常用布局 LinearLayout(线性布局) 线性的 垂直的 水平的RelativeLaytout(相对布局) 最灵活的TableLayout(表格布局) 使用GridView代替A ...

  7. elasticsearch映射

    前面讲到,无论是关系型数据库还是非关系型数据库,乃至elasticsearch这种事实上承担着一定储存作用的搜索引擎,数据类型都是非常重要而基础的概念.但elasticsearch与其它承担着数据存储 ...

  8. 原创:路由配置实践 两个局域网主机的互连 VM linux

    又开始齐天大圣讲课的时间了 我相信网络是每个运维人员和开发人员必不可少要接触的   今天我们要讲的是在VM虚拟机中 我们三台虚拟机划分两个局域网 实现不同局域网的互联 也就是下面图中的AC通过B主机的 ...

  9. MD5 in JAVA

    using Apache Commons 需要引入org.apache.commons.codec.digest.DigestUtils这个包,pom.xml文件配置如下: <!-- https ...

  10. Html中<Hr>标签、样式的使用和自定义设置

    <Hr>标签中样式的使用和自定义设置... -------------------- ====================== 已经测试过了可以用的Hr样式: <!--这是一部分 ...