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. Python集合(set)类型的操作

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...

  2. linux下访问windows的共享

    linux下,要访问windows的共享,有好几种情况,下面进行总结. 外面的文章,有点介绍需要使用samba,有点说什么都不需要,只需要mount加上参数, 功能是实现,不过原理,还是不太明白,我发 ...

  3. 如何输入EOF

    很多线上笔试的编程题要求能循环处理多个case,需使用while(scanf("%s",tmp)!=EOF)语句.EOF表示文件结束符,但是在本机的编译环境中,如何在控制台输入EO ...

  4. Python 对象引用、可变性和垃圾回收

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } 变量不是盒子 在示例所示的交互式控制台中,无法使用"变量是盒 ...

  5. oracle内存优化

    一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.         一.概述:                ...

  6. 【Centos】修改系统字符集

    centos7: vim /etc/locale.conf LANG=zh_CN.gb2312 其他版本linux: vim /etc/sysconfig/i18n

  7. Windows10-安装笔记

    Windows10-安装笔记... ------------------------------ ---------------------------------------- 加载镜像.加载完后. ...

  8. PHP 字符串替换

    这是2017上半年的第一篇学习笔记,也是最后一篇,捂脸- 在前几天的工作中,关于"银行卡"页面原型如下,其中,不同银行卡的卡号只保留了最后四位数字可以显示,其他数字均用*字符隐藏了 ...

  9. 基于pytorch的CNN、LSTM神经网络模型调参小结

    (Demo) 这是最近两个月来的一个小总结,实现的demo已经上传github,里面包含了CNN.LSTM.BiLSTM.GRU以及CNN与LSTM.BiLSTM的结合还有多层多通道CNN.LSTM. ...

  10. 题目1522:包含min函数的栈

    #include <iostream> #include <cstdio> #include <stack> using namespace std; int ma ...