201521123081《java程序设计》 第14周学习总结
1. PTA反馈问卷
2. 雨课堂反馈问卷
本次作业参考文件
数据库PPT
MySql操作视频与数据库相关jar文件请参考QQ群文件。
0. 本周课程设计发布
Java课程设计
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。
2. 书面作业
Q1. MySQL数据库基本操作
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(截图)
- 查看所有数据库,连接并查看当前数据库test;
- 创建表students,属性如图,插入个人数据;
- 又插入两条数据,并查询表中的数据;
删除表students,再次查看数据库test中的表,并无students。
参考:实验任务书-题目1
Q2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
2.2 使用JDBC操作数据库主要包含哪几个步骤?
装载驱动到类路径中去;
使用主机名、端口号和数据库名以及提供JDBC所连接的URL;
创建连接;
创建Statement实例,执行SQL语句;
关闭连接,释放资源。
参考:实验任务书-题目2
Q3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
- 原test数据库中students表。
- 部分代码及运行结果。
- 再次查看test数据库中students表。
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch
)
参考:实验任务书-题目3
Q4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,出现学号
public class StudentDaoJDBCImpl implements StudentDao {
@Override
public int add(Student stu) {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement pstat = null;
String sql = "insert into student(id,name) values(?,?) ";//表中有id和name这列
int result = -1;
try {
conn = JDBCUtil.getConnection();
pstat = conn.prepareStatement(sql);
pstat.setInt(1, stu.getId());
pstat.setString(2, stu.getName());
result = pstat.executeUpdate();
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(null,pstat, conn);
}
return result;
}
@Override
public int delete(int sid) {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement pstat = null;
String sql = "delete from student where id=?";//表中有id和name这列
int result = -1;
try {
conn = JDBCUtil.getConnection();
pstat = conn.prepareStatement(sql);
pstat.setInt(1, sid);
result = pstat.executeUpdate();
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(null,pstat, conn);
}
return result;
}
4.2 使用DAO模式访问数据库有什么好处?
DAO模式的使用相当于建立一个接口,接口中定义了此应用程序中将会用到的所有方法。
DAO模式实现了数据访问和业务逻辑分离,便于数据维护。
在程序中,当需要和数据进行交互的时候则使用这个接口,编写一个单独的类来实现它;在后期对程序的修改中,只需对DAO模式中的某个方法修改即可,不需要整个项目都进行修改
参考:实验任务书-题目5
Q5. 使用数据库改造购物车系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?
选做:Q6. 批量更新测试
数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入1000万条数据,且该数据中的某些字段的内容可以随机生成。
6.1 截图你的代码(出现学号)、统计运行时间
6.2 计算插入的速度到底有多快?(以条/秒
、KB/秒
两种方式计算)
选做:Q7. 事务处理
7.1 使用代码与运行结果证明你确实实现了事务处理功能。(粘贴一段你认为比较有价值的代码,出现学号)
7.2 你觉得什么时候需要使用事务处理?
参考:实验任务书-题目4
选做 Q8. 数据库连接池
使用数据库连接池改写题目5
参考:实验任务书-题目4
数据连接池参考资料
3. 码云
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
4.课外阅读
4.1 JDBC(TM) Database Access
4.2 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分
4.3 mysq数据库管理工具navicat基本使用方法
201521123081《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程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
随机推荐
- Markdown几个简单的例子
定义型列表 语法说明: 定义型列表由名词和解释组成.一行写上定义,紧跟一行写上解释. 解释的写法:紧跟一个缩进(Tab) Markdown : 轻量级文本标记语言,可以转换成html,pdf等格式(左 ...
- JS进阶 ] 分析JS中的异步操作
写在前面 JS因为是单线程的,所以在执行事务的时候,往往会因为某个事务的延迟,而导致服务器假死,这时候异步编程就显的格外重要,但是异步编程一般理解为回调函数callback,典型的就是node,回调函 ...
- [Python] wxPython 菜单栏控件学习总结(原创)
1.总结 1.大体创建过程 1.创建一个 菜单栏 : menuBar = wx.MenuBar() 相当于这个白色地方,没有File这个菜单 2.创建 菜单 : fileMenu = wx.Menu ...
- xargs - 地下管道
xargs - 地下管道 xargs 促使我去思!考,管道 | 的具象含义是什么. $ cat sample.txt Things to do today: Low:Go grocery shoppi ...
- .net core 2.0学习笔记(四):迁移.net framework 工程到.net core
在迁移.net core的过程中,第一步就是要把.net framework 工程的目标框架改为.net core2.0,但是官网却没有提供转换工具,需要我们自己动手完成了..net framewor ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(一)概览
myRTSPClient主要可以分成3个部分: 1. RTSPClient用户接口层: 2. RTP 音视频传输解析层: 3. RTP传输层. "RTSPClient用户接口层": ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(二)示例
一.搭建RTSP服务器 要想测试RTSP客户端,没有服务端怎么行呢?然而,有时候条件有限,手头并没有独立的RTSP服务器拿来用,那么我们不妨自己撘一个. 以下有2种方便的做法可供选择: 第一种:使用v ...
- 【Ubuntu Desktop】安装主流桌面
ubuntu的桌面环境实在多,在这里选了几款主流的桌面环境,大家可以按需安装使用. 1.GNOME 2 Classic 经典老界面 gnome2 after reboot,choose GNOME ...
- Fatal error: Class 'LearningPHP1\mysqli' not found
在php文件的头部使用了namespace 结果报错mysqli不在LearningPHP1中, 结论:如果定义了命名空间,在使用mysqli做连接的时候就要指明mysqli所在的命名空间. < ...
- "R6002 floating point support not loaded"问题分析
今天为了追踪程序线程退出耗时时间,添加了耗时时间输出日志: TimerMeter tm; // do some threads exit logic float fSecs = tm.Elapsed( ...