1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。

2. 书面作业

1. MySQL数据库基本操作

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

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

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

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

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

  1. import java.sql.Connection;
  2. import java.sql.Date;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. public class ConnectMySQL {
  8. /**201521123035
  9. * @param args
  10. * @throws ClassNotFoundException
  11. */
  12. public static void main(String[] args) throws ClassNotFoundException {
  13. //JDBC��һЩ����
  14. String URL = "jdbc:mysql://localhost:3306/test";
  15. String driverName = "com.mysql.jdbc.Driver";
  16. String sql = "select * from student";
  17. String userName = "root";//root
  18. String password = "kfc123456";//123456
  19. Connection conn = null;
  20. Class.forName(driverName);//jdbc4.0 ������ʹ������������ע�����
  21. try {
  22. conn = DriverManager.getConnection(URL,userName,password);
  23. Statement statement = conn.createStatement();
  24. ResultSet resultSet = statement.executeQuery(sql);
  25. // id | stuno | name | gender | birthdate | major
  26. while(resultSet.next()){
  27. int id = resultSet.getInt("id");
  28. String stuno = resultSet.getString("stuno");
  29. Date date = resultSet.getDate("birthdate");
  30. System.out.print("id="+id+" stuno="+stuno+" birthdate="+date);
  31. }
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }finally{
  35. if(conn!=null)
  36. try {
  37. conn.close();
  38. } catch (SQLException e) {
  39. // TODO Auto-generated catch block
  40. e.printStackTrace();
  41. }//����ʹ��Try..with..resources�﷨��
  42. conn = null;
  43. }
  44. }
  45. }

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

  1. 创建数据库——发送SQL语句——返回结果——关闭释放资源

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

3. PreparedStatement与参数化查询

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

  1. //201521123035
  2. String strSql = "select * from students where Id < ?";
  3. pStatement = con.prepareStatement(strSql);
  4. pStatement.setInt(1, 10);
  5. rs = pStatement.executeQuery();
  6. while(rs.next()){
  7. System.out.println(rs.getInt("id"));
  8. System.out.println(rs.getString("stuno"));
  9. System.out.println(rs.getString("name"));
  10. System.out.println(rs.getInt("age"));
  11. }
  12. pStatement.close();

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

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

4. JDBCUtil与DAO

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

  1. //201521123035
  2. //函数,遍历该List,将学生的姓名与年龄输出
  3. public void TdiplayAllStudent(List<Student> t) {
  4. for(int i=0;i<t.size();i++){
  5. System.out.println(t.get(i).toString());
  6. }
  7. }
  8. //将List中的所有Student取出,放入Map中,其中key为学生的姓名,value为相应的学生对象
  9. public void MAPdiplayAllStudent(List<Student> t) {
  10. Map<String,Student> map=new HashMap<String,Student>();
  11. for(int i=0;i<t.size();i++){
  12. map.put(t.get(i).getName(), t.get(i));
  13. }
  14. }
  15. Map<String,Integer> map=new HashMap<String,Integer>();
  16. //将ResultSet中的学生信息,构造成一个个的Student对象,并放入List中
  17. @Override
  18. public List<Student> getAllStudents() {
  19. List<Student> t=new ArrayList<>();
  20. Connection conn = null;
  21. Statement stat = null;
  22. ResultSet rs = null;
  23. String sql = "select * from student";//表中有id和name这列
  24. try {
  25. conn = JDBCUtil.getConnection();
  26. stat = conn.createStatement();
  27. rs = stat.executeQuery(sql);
  28. while(rs.next()){
  29. int id = rs.getInt("id");
  30. String name = rs.getString("name");
  31. Student student0=new Student(id,name);
  32. t.add(student0);
  33. }
  34. }catch (SQLException sqle) {
  35. sqle.printStackTrace();
  36. }catch(Exception e){
  37. e.printStackTrace();
  38. }finally{
  39. JDBCUtil.realeaseAll(rs,stat, conn);
  40. }
  41. return t;
  42. }

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

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

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

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

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

3. 码云

3.1. 码云代码提交记录

  1. 在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

201521123035《Java程序设计》第十四周学习总结的更多相关文章

  1. 201871010106-丁宣元 《面向对象程序设计(java)》第十四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第十四周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...

  2. 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结

    20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...

  3. 20145213《Java程序设计》第四周学习总结

    20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...

  4. 20145330《Java程序设计》第四周学习总结

    20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...

  5. 20145337《Java程序设计》第四周学习总结

    20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...

  6. 20145218 《Java程序设计》第四周学习总结

    20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...

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

    20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...

  8. 20155304 2016-2017-2 《Java程序设计》第四周学习总结

    20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序 ...

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

    201521123038 <Java程序设计> 第四周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.通过 ins ...

  10. 201521123061 《Java程序设计》第四周学习总结

    201521123061 <Java程序设计>第四周学习总结 1. 本章学习总结 (1)思维导图: --- (2)上课内容总结: 第四周学习了Java中的继承与多态,思维导图中已经给出了本 ...

随机推荐

  1. Windows 程序注册成服务的方法

    Windows 程序注册成服务的方法 将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面.下面介 ...

  2. U3D 控件

    1.普通控件 GUI.Label() GUI.Button()等方法添加控件 bool clicked = GUI.Button() 当按钮单击时,返回true string ss = GUI.Tex ...

  3. Postman 官网教程,重点内容,翻译笔记,

    json格式的提交数据需要添加:Content-Type :application/x-www-form-urlencoded,否则会导致请求失败 1. 创建 + 测试: 创建和发送任何的HTTP请求 ...

  4. 关于VS AddIn的注册

    使用VS2010创建addin工程时,如果选择的开发语言是unmanaged c++,以addin为后缀的XML描述文件就不起作用了.这种情况下addin通过注册表来实现注册功能.实际可在如下位置找到 ...

  5. 200行的Node爬虫花了半天的时间把网易云上的30万首歌曲信息都抓取回来了

    早两天在网易云听歌看评论的时候,突然想把网易云上所有歌曲都抓取下来然后按照评论数进行一次排名,把评论数超过10万的歌曲都听一次,于是便有了这个项目. 因为只是一个小前端,所以使用了Node来写这个爬虫 ...

  6. 使用angular4搭建博客(一)

    本文长期更新,未经运行,严禁转载. 博客(制作中) http://101.200.58.228/ Github https://github.com/Teloi/TEIndex 框架选择 Angula ...

  7. axios.js

    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios  ...

  8. css div旋转之后自适应

    css: .rotate90deg { transform: rotate(90deg); -ms-transform: rotate(90deg); /* IE 9 */ -moz-transfor ...

  9. 【CentOS7】Could not retrieve mirrorlist http://mirrorlist.centos.org/?...

    在执行命令 sudo yum clean expire-cache 清理完过期的缓存后,再执行yum install 或 update命令都失败了.原因是清理过期缓存结果不该被清理的也删掉了,可能是y ...

  10. 博文Contents<451--到999—>

    积分=排名>2017-05-15这一天还真是厉害了.让我等了5个月时间... 前言:博客中的随笔文章.并非都是笔者的原创文章.有些是听别人说的.有些是书上摘录的.有些是百度的.有些是别人博客的文 ...