201521123100《Java程序设计》第14周学习总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。

2. 书面作业
1. MySQL数据库基本操作
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(截图)
-参考:实验任务书-题目1

2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
//201521123100
try {
conn = DriverManager.getConnection(URL,userName,password);
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
int id = resultSet.getInt("id");
String stuno = resultSet.getString("stuno");
String name =resultSet.getString("name");
int age =resultSet.getInt("age");
Date date = resultSet.getDate("birthdate");
System.out.print("id="+id+" stuno="+stuno+" name="+name+" age="+age+" birthdate="+date);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
2.2 你认为使用JDBC操作数据库的套路是什么?有那几点需要注意。
-参考:实验任务书-题目2
1.转载驱动
2.连接到数据源
3.通过连接创建语句
4.通过语句获得结果集
5.释放资源
6.处理结果集
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
try {
Class.forName(driverName); //加载MySql的驱动程序,jdbc4.0不再需要
} catch (ClassNotFoundException e) {
System.out.println("无法找到驱动类");
}
con = DriverManager
.getConnection(url,userName,password);
String strSql = "insert into students(stuno,name,age,birthdate) values(?,?,?,?);";
statement = con.createStatement();
resultNum = statement.executeUpdate(strSql);
System.out.println(resultNum+"条记录已经插入");
strSql = "delete from students where id='2'";//删除id=2的数据
resultNum = statement.executeUpdate(strSql);
System.out.println(resultNum+"条记录删除完毕");
strSql = "update students set major='中文' where id='1'";//更新id=2的数据
resultNum = statement.executeUpdate(strSql);
System.out.println(resultNum+"条记录更新完毕");
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。对比普通方法插入与使用executeBatch方法所消耗的时间。(使用JUint4测试,需要出现时间对比截图)
普通方法:
//201521123100
for(int i=0;i<1000;i++){
String strSql = "insert into students(stuno,name,age,birthdate) values(?,?,?,?)";
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, "201521123100");
pStatement.setString(2, "c");
pStatement.setInt(3, 18);
pStatement.setString(4, "1996-11-15");
}
executeBatch方法:
//201521123100
for(int i=0;i<1000;i++){
String strSql = "insert into students(stuno,name,age,birthdate) values(?,?,?,?)";
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, "201521123100");
pStatement.setString(2, "c");
pStatement.setInt(3, 18);
pStatement.setString(4, "1996-11-15");
pStatement.addBatch();//添加到同一个批处理中
}
pStatement.executeUpdate();
pStatement.close();//立即释放资源
参考:实验任务书-题目3
4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,并说明为什么要摘取这段代码。出现学号
//201521123100
@Override
public List<Student> findAll() {
// TODO Auto-generated method stub
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
Student stu=null;
List<Student> students=new ArrayList<Student>();
String sql = "select * from student";
try {
conn = JDBCUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
stu=new Student(rs.getInt("id"),rs.getString("name"));
students.add(stu);
}
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(rs,stat, conn);
}
return students;
}
4.2 使用DAO模式访问数据库有什么好处?
A:Dao模式将获得连接与释放连接的操作封装起来,提供访问数据库的统一入口;通过数据库连接类可以简化开发,调用其中的方法就可以,不用因为某些细节而编写大量的重复代码
参考:实验任务书-题目5
5. 使用数据库改造购物车系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?
A:数据库采用一定的数据模型实现数据结构化,方便储存,有较高的安全性,与程序独立,共享性高
3. 码云
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

201521123100《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程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
随机推荐
- k-means算法概述
算法过程: 随机选取K个种子点 求所有点到种子点的距离,将点纳入距离最近的种子点群 所有点均被纳入群内后,将种子点移动到种子群中心 重复上述2.3过程,直至种子点没有移动 优缺点: 优点:容易实现 缺 ...
- MySQL Flush导致的等待问题
--MySQL Flush导致的等待问题 -------------------------------2014/07/13 前言 在实际生产环境中有时会发现大量的sql语句处于waiting for ...
- Linux网络配置文件详解
--Linux网络配置文件详解----------------------2013/10/03 目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Vir ...
- DOS批处理中%cd%和%~dp0的区别[forward]
DOS批处理中%cd%和%~dp0的区别 在DOS的批处理中,有时候需要知道当前的路径. 在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0. 这两个变量的 ...
- 使用Jetty运行Java Web项目(Maven)
目前流行的两款IDE: Eclipse和IntelliJ IDEA 2. IntelliJ IDEA
- ReactiveCocoa源码解读(一)
本着饮水思源的想法,面对ReactiveCocoa的强大功能,按捺不住心中的好奇心,于是走进其源码之中,一探ReactiveCocoa的魅力所在.虽然,耳闻其强大功能的核心是:信号,但一直不知道这个信 ...
- fetch默认不携带cookie
最近在使用fetch向服务器发送请求,过程中的体会和遇到的问题在这里记录一下. fetch返回的是一个Promise对象,我们可以对返回的结果做进一步的处理,这是与传统ajax的一个区别. 简单的请求 ...
- 菜鸟之路Vue----一
Vue api 学习笔记之 全局配置 1.Vue全局配置 Vue.config是一个对象,它包含了Vue的全局变量配置. #silent 用来取消 Vue 所有的日志与警告,其值值类型为布尔值(Bo ...
- html js文字左右滚动插件
自己写过很多插件,但都是直接嵌入在了工程里,从来没有拿出来单独封装成一个文件过,这是第一次,希望是一个良好的开端. 一个文字过长而可以左右滚动的插件 <!DOCTYPE html> < ...
- Struts2.5 利用Ajax将json数据传值到JSP
AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...