201521123082 《Java程序设计》第14周学习总结
201521123082 《Java程序设计》第14周学习总结
标签(空格分隔):java
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。
Answer:
1.一张图初步了解数据库与文件:

2.数据库操作:
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改进,其中举一个方法实现数据库操作的功能,其他的方法类似:
//实现删除指定id学生的信息
public int deleteStudent(int id) throws SQLException {
String sql="delete from studen where id="+id;
return statement.executeUpdate(sql);
}
2.2 使用JDBC操作数据库主要包含哪几个步骤?
-参考:实验任务书-题目2
Answer:
见图:

3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
Answer:
PS:实验中提供的JDBCUtil.java将重复内容封装起来实现复用,这些代码就挺关键的。
根据PreparedStatement改进的两个方法举例:
//根据指定的name,按姓名查找学生 201521123082
public static STUDENT getStudentByName(String name) throws SQLException {
String sql = "select * from student where name = ?";
pStatement = connection.prepareStatement(sql);
pStatement.setString(1, name);
resultSet = pStatement.executeQuery();
STUDENT student = new STUDENT(resultSet.getInt(1), resultSet.getString(2), resultSet.getString(3),
resultSet.getInt(4), resultSet.getDate(5).toString());
return student;
}
//输出个范围内的所有学生 201521123082
public static void displayStudentBetween(String begin, String end) throws SQLException {
String sql = "select * from student where birthday between ? and ?;";
pStatement = connection.prepareStatement(sql);
pStatement.setString(1, begin);
pStatement.setString(2, end);
resultSet = pStatement.executeQuery();
System.out.println("id\tstuno\t\tname\t\tage");
while (resultSet.next()) {
System.out.print(resultSet.getInt("id")+"\t");
System.out.print(resultSet.getString("stuno")+"\t\t");
System.out.print(resultSet.getString("name")+"\t\t");
System.out.print(resultSet.getInt("age"+"\n"));
}
}
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周学习总结的更多相关文章
- 2018面向对象程序设计(Java)第14周学习指导及要求
2018面向对象程序设计(Java)第14周学习指导及要求(2018.11.29-2018.12.2) 学习目标 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及 ...
- 面向对象程序设计(JAVA) 第14周学习指导及要求
2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2) 学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 201521123038 《Java程序设计》 第九周学习总结
201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20175221 2018-2019-2 《Java程序设计》第一周学习总结
20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...
- 20175314 《Java程序设计》第九周学习总结
20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...
- 20175314 《Java程序设计》第二周学习总结
20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...
- 20155312 2016-2017-2 《Java程序设计》第九周学习总结
20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
随机推荐
- 【学习OpenCV】——2.4对图像进行平滑处理
作者基于WIN10+VS2015+OpenCV3.0.0 (本人在学习的时候参考了xiahouzuoxin 的有关文章,在此感谢 ) 图像平滑与图像模糊是同一概念,主要用于图像的去噪.平滑要使用滤波器 ...
- 程序设计入门——C语言 习题汇总
<img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...
- SO_REUSEADDR与SO_REUSEPORT平台差异性与测试
前些天,与另外一个项目组的同事聊天的时候,谈到他遇到的一个有意思的BUG.在window上启动服务器,然后客户端连接的时候收到一些奇怪的消息,查证了,原来是他自己的另一个工具也在相同的地址上监听,客户 ...
- 金明的预算方案 NOIP 2006 提高组
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱 ...
- Linux 终端访问 FTP 及 上传下载 文件[转]
1. Linux 终端连接FTP [oracle@Dave ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server ...
- [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展字符串位置方法(4)
本文,我们接着之前的框架继续扩展,这次扩展了一共有5个与字符串位置相关的方法 between( left, right ) 返回两个字符串之间的内容, 如果第二个参数没有传递,返回的是找到的第一个参数 ...
- Three.js使用局部纹理更新
THREE.js开发的应用运行在iphone5下发现有些时候会崩溃,跟了几天发现是因为Sprite太多频繁更新纹理占用显存导致的.通常解决纹理频繁更新问题就要用到one draw all方法,放到纹理 ...
- 使用可以为 null 的类型
??运算符 ?? 运算符定义在将可以为 null 的类型分配给非可以为 null 的类型时返回的默认值. C# int? c = null; // d = c, unless c is null, ...
- Json安全
1.不要使用顶级JSON数组,避免被<script>标签引用. 2.使用POST+密钥获取JSON,尽量不要用GET方式. 3.不要使用eval()将对象放入内存,eval()会执行所传入 ...
- SSM简明教程:简单的十步教你搭建人生第一个SSM框架[ SSM框架整合教程(Spring+SpringMVC+MyBatis) ]
SSM_BookSystem SSM框架基础 SSM_BookSystem ---> Hello CRUD 说明:本项目目前包含基础的CRUD 日期:2017-05-01 22:25:37 作者 ...