1. 本周学习总结

2. 书面作业

1. MySQL数据库基本操作

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

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

  • 更新表中数据:

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

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

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

2.2 你认为使用JDBC操作数据库的套路是什么?有那几点需要注意。

1.装载驱动 //jdbc 4.0不再需要手动加载

2.与数据库建立连接(Connection)

3.向数据库发送SQL语句(statement)

4.获得和处理查询或更新语句返回的结果

5.关闭连接,释放资源

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

3. PreparedStatement与参数化查询

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

//201521123025
String strSql = "select * from students where age = ? ";//查询年龄=22的学生
pStatement = con.prepareStatement(strSql);
pStatement.setInt(1, 22);
rs = pStatement.executeQuery();
System.out.println("id\t编号 \t \t姓名\t年龄\t出生日期");
while(rs.next()){
System.out.print(rs.getInt("id")+"\t");
System.out.print(rs.getString("stuno")+"\t");
System.out.print(rs.getString("name")+"\t");
System.out.print(rs.getInt("age")+"\t");
System.out.println(rs.getDate("birthdate"));
}
pStatement.close();//立即释放资源

3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。对比普通方法插入与使用executeBatch方法所消耗的时间。(使用JUint4测试,需要出现时间对比截图)

try {//201521123025
con = DriverManager.getConnection(url,userName, password); long time1=System.currentTimeMillis();
//根据参数的插入数据
for(int i=0;i<1000;i++)
{String strSql = "insert into students(stuno,name,age,birthdate) values(?,?,?,?)";
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, "2015200");
pStatement.setString(2, "lin");
pStatement.setInt(3, 18);
pStatement.setString(4, hmFromat.format(new Date()));
pStatement.addBatch();
}
long time2=System.currentTimeMillis();
Calendar ca=Calendar.getInstance();
ca.setTimeInMillis(time2-time1);
System.out.println("耗时:"+ca.get(Calendar.MINUTE) + "分 " + ca.get(Calendar.SECOND) + "秒 " + ca.get(Calendar.MILLISECOND) + " 微秒");
int[] arr=pStatement.executeBatch();
pStatement.close();
System.out.println(Arrays.toString(arr));

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

4. JDBCUtil与DAO

4.1 粘贴一段你认为比较有价值的代码,并说明为什么要摘取这段代码。出现学号

//201521123025
public StudentDaoArrayImpl(int size) {
this.size = size;
students = new Student[size];//指定数组大小
} @Override
public Student readStudent(String name) {
Student temp = null;
for(int i=0; i<students.length;i++){
if(students[i]!= null){
if (students[i].getName().equals(name)){//写入学生
temp = students[i];
break;
}
}
}
return temp; } @Override
public boolean writeStudent(Student student) {
boolean success = false;
for(int i=0; i<students.length;i++){//输出要查找学生
if(students[i]==null){
students[i] = student;
success = true;
break;
}
}
return success;
} @Override
public void diplayAllStudent(){
for(Student e:students){//输出所有学生
if (e != null)
System.out.println(e);
}
} @Override
public List<Student> getAllStudents() {
return null;
}

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

DAO模式的使用相当于建立一个接口,接口中定义了方法。在程序中,当需要和数据进行交互的时候则使用这个接口,并且编写一个实现类来实现这个接口上的方法,代码之间的板块分配很清晰,而且在后期对程序的修改,只需对DAO模式中的某个方法修改即可,不需要整个项目都进行修改。

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

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

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

String strSql = "select * from prouct where name = ? ";//按名称查询商品
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, name);
rs = pStatement.executeQuery();
System.out.println("商品名\t库存数\t单价");
while(rs.next()){
System.out.print(rs.getString("name")+"\t");
System.out.print(rs.getInt("num")+"\t");
System.out.print(rs.getDouble("price")+"\t");
}
pStatement.close();
try {//201521123025
Class.forName(driverName);
conn = DriverManager.getConnection(URL,userName,password);
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
String name = resultSet.getString("name");
Int num = resultSet.getInt("num");
Double price = resultSet.getDouble("price");
System.out.print("name="+name+" num="+num+" price="+price);
} }

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

1.查看数据库的数据需要有用户名和密码的输入,而文件是任何人都可以查看,另外数据库一般有备份数据的功能,所以数据库更安全些。

2.用数据库访问修改数据比较方便,所有关系型数据库都可以用sql操作数据库;而使用文件操作数据时,需要打开文件来存储然后关闭文件。

3. 码云

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

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. 201521123025<<java程序设计>>第4周学习总结

    Q1. 本周学习总结 Q2.书面作业 1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 2.面向对象设计(大作业1,非常重要) 2.1 将在网上 ...

  3. 201521123025 <<java程序设计>>第3周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  4. 201521123025<<java程序设计>>第9周学习总结

    1. 本周学习总结 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 经常出现Array ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. SK-Learn 全家福

    SK-Learn API 全家福 最近SK-Learn用的比较多, 以后也会经常用,将Sk-Learn 所有内容整理了一下,整理思路,并可以备查. (高清图片可以用鼠标右键在单独窗口打开,或者保存到本 ...

  2. 齐博cms 7.0 漏洞分析

    ** 0x01 原理分析 ** 还是很早之前爆出来的漏洞,现在拿出来学习一下,参考阿里巴巴: https://security.alibaba.com/... 漏洞发生在/inc/common.inc ...

  3. HTML DOM (文档对象模型)

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过可编程的对象模型,JavaScrip ...

  4. SpringMVC(一)--基础、REST、@RequestParam、POST请求乱码等

    1.SpringMVC基本概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一 Spring3.0 后全面超越 Struts2,成为最优秀的 ...

  5. pdf.js跨域问题的分析

    最近在做公司业务时,需要在线浏览pdf.在现代浏览器中, 均可直接浏览pdf文件,无兼容性问题.但公司的业务线需要支持到ie8. 经过自己的搜索调研, pdf.js比较适合.pdf.js兼容到ie9, ...

  6. Django 学习笔记(七)数据库基本操作(增查改删)

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

  7. LeetCode Weekly Contest 47

    闲着无聊参加了这个比赛,我刚加入战场的时候时间已经过了三分多钟,这个时候已经有20多个大佬做出了4分题,我一脸懵逼地打开第一道题 665. Non-decreasing Array My Submis ...

  8. python专题-爬虫功能

    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的 ...

  9. clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...

  10. 为测试赋能,腾讯WeTest探索手游AI自动化测试之路

    作者:周大军/孙大伟, 腾讯后台开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.  WeTest导读 做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传 ...