201521123001 《Java程序设计》第14周学习总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。
答:
2. 书面作业
1. MySQL数据库基本操作
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
答:
在自己建立的数据库上执行常见SQL语句(截图)
-参考:实验任务书-题目1
2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
答:
//201521123001
conn = DriverManager.getConnection(URL,userName,password);
//获得数据库连接
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
//发送SQL语句
2.2 使用JDBC操作数据库主要包含哪几个步骤?
-参考:实验任务书-题目2
答:
- 注册JDBC驱动(jdbc4.0 后无需使用这句进行驱动注册操作)
Class.forName(driverName);
- 创建连接
conn = DriverManager.getConnection(URL,userName,password);
- 通过连接创建语句
Statement statement = conn.createStatement();
- 通过语句获得结果集
ResultSet resultSet = statement.executeQuery(sql);
- 处理结果集
while(resultSet.next())
- 释放资源
conn.close()
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
答:
//201521123001
strSql = "select * from student where name= ?";
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, "小明");
rs = pStatement.executeQuery();
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)
参考:实验任务书-题目3
答:
//201521123001
pStatement = con.prepareStatement(strSql);
long btime = System.currentTimeMillis();
int t;
for(int i = 0 ; i<1000 ; i++)
{
pStatement.setString(1, "小明");
pStatement.addBatch();
t = pst.executeUpdate();
}
long atime=System.currentTimeMillis();
数据量少于1000时,多个values方式比较快,随着数据量增加,batch效率会明显高于多values方式
4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,出现学号
答:
//201521123001
conn = JDBCUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.format("该记录的id=%d,姓名=%s\n", id, name);
}
4.2 使用DAO模式访问数据库有什么好处?
参考:实验任务书-题目5
答:
DAO模式将数据库分为3层:数据层、业务层、交互层,每层所写的内容分开,方便代码编写和调用,让逻辑更清晰,防止思路混乱
5. 使用数据库改造购物车系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
答:
//201521123001
try {
//更新商品数据
String strSql = "update Commodity set name = ?";
rs = pStatement.executeQuery(strSql);
rs.setString(1, name);
rs.setDouble(2, price);
rs.setInteger(3, num);
row = rs.executeUpdate();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
pStatement.close();
rs.close();
row.close();
}
5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?
答:
首先,数据库可以存储大量的信息;
并且,数据库管理方便,可以用sql操作,对大量数据易于增,删,改,查,极大减少了工作量;
最后,数据库比普通的存储方式安全,一般的数据库都有备份数据的功能和相应的命令可以实现它;
3. 码云
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图