1. 本周学习总结

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

2. 书面作业

1. MySQL数据库基本操作

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

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

删除表: drop table student;



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

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

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



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

  • 在Eclipse中导入连接数据库所需要的jar文件。
  • a. 在项目下新建lib目录
  • b. 将相关jar包拷贝到lib目录
  • c. 在项目的Build Path中导入该jar包
  • d. 在项目中导入ConnectMySQL.java,尝试运行。

    效果如图



    注:代码中的密码要改成kfc123456.

    修改过后:

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

3. PreparedStatement与参数化查询

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

//201521123048
public void searchByPst()
{
ArrayList<Long> arr=new ArrayList<Long>();
try{
pst=conn.prepareStatement(querySql);
rs=pst.executeQuery();
while(rs.next())
{
arr.add(rs.getLong("ID"));
}
System.out.println(arr);
this.pst.close();
}catch (Exception e)
{
e.printStackTrace();
}
}

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

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

4. JDBCUtil与DAO

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

//201521123048
public void MAPdiplayAllStudent(List<Student> t) {
Map<String,Student> map=new HashMap<String,Student>();
for(int i=0;i<t.size();i++){
map.put(t.get(i).getName(), t.get(i));
}
}
Map<String,Integer> map=new HashMap<String,Integer>(); public List<Student> getAllStudents()
{
List<Student> t=new ArrayList<>();
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
String sql = "select * from student";
try {
conn = JDBCUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
Student student0=new Student(id,name);
t.add(student0);
}
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(rs,stat, conn);
}
return t;
}

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

答:DAO模式的使用相当于建立一个接口,接口中定义了此应用程序中将会用到的所有方法。当需要和数据进行交互的时候会用到这个接口,并且编写一个单独的类来实现这个接口上的方法。代码板块分配清晰。在后期对程序的修改,只要对DAO模式中的某个方法修改即可。

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

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

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

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

选做:6. 批量更新测试

数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入1000万条数据,且该数据中的某些字段的内容可以随机生成。

6.1 截图你的代码(出现学号)、统计运行时间

6.2 计算插入的速度到底有多快?(以条/秒、KB/秒两种方式计算)

选做:7. 事务处理

7.1 使用代码与运行结果证明你确实实现了事务处理功能。(粘贴一段你认为比较有价值的代码,出现学号)

7.2 你觉得什么时候需要使用事务处理?

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

选做 8. 数据库连接池

使用数据库连接池改写题目5

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

数据连接池参考资料

3. 码云

3.1. 码云代码提交记录

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

201521123048 《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递归函数细化认识及实用实例

    程序调用自身的编程技巧称为递归( recursion). 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归 ...

  2. Monad详解

    最近几年,函数式编程变得越来越流程,其代码简洁.副作用小.维护成本低等特点,使得许多其它的语言也开始支持函数式编程,比如Java 和 C#等.本文主要介绍一下函数式编程中的一个重要概念:Monad. ...

  3. Java 编写小程序,下载指定网页上的所有图片

    使用Java编写一个小程序,可以根据指定的网页地址,下载网页中的所有图片:使用到网络编程.线程池.IO和UUID的技术.具体代码如下: import java.io.File; import java ...

  4. js 科学计数法 转换为 数字字符 突破幂数正数21位,负数7位的自动转换限制

    前天工作中要转换后台返回的一个数据,返回是的科学计算的数字字符,用网上能搜索到的常用两种方法转换会有倍数的限制,然后又搜索了很久,还是没有找到好的方法,虽然也有一些自己写的方法,可还是不能像下面两种方 ...

  5. 《NoSQL精粹》读书笔记

    NoSQL数据库数据模型的一般分类: 1. 键值数据模型 2. 文档数据模型 3. 列族数据模型 4. 图数据模型 常见NoSQL数据库: Redis, Cassandra, MongoDB, Neo ...

  6. 【Spring】XML配置整合Mybatis

    注意:项目开发使用了mybatis的mapper代理! 首先是mybatis自己的配置文件,被spring整合之后,只有typeAliases存在了,其他都整合在了spring-mybatis.xml ...

  7. Spring集成RabbitMQ-必须知道的几个概念

    上篇<Spring集成RabbiMQ-Spring AMQP新特性>我们了解了最新spring-rabbit的2.0.0.M5版本相较于之前有哪些变化.其实使用Spring-amqp确实简 ...

  8. python的while嵌套 99乘法表 三角形和正方形

    python的99乘法表 num1=1 while num1<=9 : num2 = 1 while num2 <=num1 : print (str(num2)+"X" ...

  9. vs下开端口直接调试iis

    有些时候我们接口调试不想发布然后挂到iis下面,因为这样子调试有点麻烦,不是不可以调试.当然我们就希望在vs下直接运行直接打断点调试! 只需要三步就可以实现: 1)  找到这个文件 2)  打开上面文 ...

  10. 基于dijkstra算法求地铁站最短路径以及打印出所有的路径

    拓展dijkstra算法,实现利用vector存储多条路径: #include <iostream> #include <vector> #include <stack& ...