201521123050 《Java程序设计》第14周学习总结

时间:2023-03-09 08:33:15
201521123050 《Java程序设计》第14周学习总结

1. 本周学习总结

201521123050 《Java程序设计》第14周学习总结

2. 书面作业

1. MySQL数据库基本操作

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

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

201521123050 《Java程序设计》第14周学习总结

201521123050 《Java程序设计》第14周学习总结

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

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

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

201521123050 《Java程序设计》第14周学习总结

没注意中文乱码。。就这样吧

//201521123050
String strSql = "insert into students(stuno,name,gender,birthdate,major,age) 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+"条记录更新完毕");

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

  • 1.注册驱动

    Class.forName(driverName);

    jdbc4.0 后无需使用这句进行驱动注册操作
  • 2.创建连接

    conn = DriverManager.getConnection(URL,userName,password);
  • 3.通过连接创建语句

    Statement statement = conn.createStatement();
  • 4.通过语句获得结果集

    ResultSet resultSet = statement.executeQuery(sql);
  • 5.处理结果集

    while(resultSet.next())
  • 6.释放资源

    conn.close()

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

3. PreparedStatement与参数化查询

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

//201521123050
sString strSql = "insert into students(stuno,name,gender,birthdate,major) values(?,?,?,?,?)";
pStatement = con.prepareStatement(strSql);
pStatement.setString(1, "20150111");//设置参数

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

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

4. JDBCUtil与DAO

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

//201521123050
public class StudenDaoListImpl implements StudentDao { private List<Student> students = new ArrayList<Student>(); @Override
public Student readStudent(String name) {
Student temp = null;
for(Student e:students){
if(e.getName().equals(name)){
temp = e;
}
}
return temp;
} @Override
public boolean writeStudent(Student student) {
students.add(student);
return true; } @Override
public void diplayAllStudent(){
for(Student e:students){
if (e != null)
System.out.println(e);
}
} @Override
public List<Student> getAllStudents() {
// TODO Auto-generated method stub
return null;
}
}

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

数据访问和业务逻辑分离,便于数据维护,业务逻辑不需要了解访问细节

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

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

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

选做:6. 批量更新测试

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

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

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

选做:7. 事务处理

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

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

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

选做 8. 数据库连接池

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

参考:实验任务书-题目4
数据连接池参考资料

3. 码云

3.1. 码云代码提交记

老师的参考代码就不传了。。