201521123059 《Java程序设计》第十四周学习总结

1. 本周学习总结

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

1、关系型数据库
  ——建立表格时表中一列中的数据类型必须一致。关系表中的行必须是唯一的,列是不可分的,某些行的某些列的值可以为null。
2、在MYSQL中的操作
  ——库操作
      显示所有数据库: show databases; 
      创建数据库:     create database test; 
      删除数据库:     drop database test;
      连接数据库:     use test;
      使用数据库前,要先连接数据库
      查看当前连接的数据库: select database();
      当前数据库包含的表:  show tables;
 ——表操作:操作之前应先连接(use)某个数据库
      创建表:create table student...
      删除表  drop table students;
      插入数据:insert into student.... 
      查询表中的数据 select * from students;
      删除表中数据  列如删除students表中编号为1 的记录:delete from students where id = 1;
 ——数据库和表的关系
      create database test; //建立了一个数据库
      use test;	        //连接test数据库
      create table book(name char(50));  //在test数据库中建立book表
      //一个数据库中可以有多个表 
3、结构化查询语言SQL
 ——使用的select,update,delete,insert等语句就是SQL语句,SQL是所有现代关系型数据库中至关重要的命令行语言
     JDBC访问数据库可以使用结构化查询语言SQL
 ——常用SQL语句
     改-update 更新  增-insert 插入  删-delete 删除  查-select
4、JDBC的工作原理
 ——JDBC API
     供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:
     DriverManager :依据数据库的不同,管理JDBC驱动
     Connection    :负责连接数据库并担任传送数据的任务  
     Statement     :由 Connection 产生、负责执行SQL语句
     ResultSet  :负责保存Statement执行后所产生的查询结果

 ——JDBC 驱动
     作用:负责连接各种不同的数据库
5、JDBC配置与使用
 ——释放资源
     一般来说ResultSet、Statement、Connection使用完后要立刻关闭,并且最好按照ResultSet、Statement、Connection的顺序依次关闭。否则可能会出现异常。

2. 书面作业

1. MySQL数据库基本操作

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

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

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

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

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

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

   1.加载JDBC驱动

   2.与数据库建立连接

   3.创建Statement或PreparedStatement对象

   4.发送SQL语句,并且得到返回结果

   5.处理返回结果

   6.释放资源

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

3. PreparedStatement与参数化查询

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

//201521123059
public void searchByPSt()
{
    ArrayList<Long> arr=new ArrayList<Long>();
    try{
        strSql = "select * from students where Id < ?";
        pStatement=conn.prepareStatement(strSql);
        rs=pStatement.executeQuery();
        while(rs.next())
        {
            arr.add(rs.getLong("Name"));
        }
        System.out.println(arr);
        this.pStatement.close();
    }catch (Exception e)
    {
        e.printStackTrace();
    }
}

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

public void addByPSt()
{
    String strSql= "insert into students(stuno,name,age,birthdate) values(?,?,?,?)";
    try{
        pStatement=conn.prepareStatement(strSql);
        long time1=System.currentTimeMillis();
        for(int i=0;i<1000;i++)
        {
            pStatement.setString(1,"1");
            pStatement.setString(2,"bk");
            pStatement.setString(3,"20");
            pStatement.setString(4,"1995-05-03");
            int n=pStatement.executeUpdate();
        }
        long time2=System.currentTimeMillis();
        System.out.println(time2-time1+"ms");
        pStatement.close();
    }catch (Exception e)
    {
        e.printStackTrace();
    }
}

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

4. JDBCUtil与DAO

4.1 粘贴一段你认为比较有价值的代码,出现学号
4.2 使用DAO模式访问数据库有什么好处?

答:好处是数据访问和业务逻辑分离,便于数据维护,业务逻辑不需要了解访问细节,并且DAO模式集成了各类操作,可以通过写成私有方法并提供外部调用的入口,这样写安全可靠。
参考:实验任务书-题目5

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

5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?

3. 码云

3.1. 码云代码提交记录

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

posted @ 2017-05-28 20:07  叶~文柠  阅读(152)  评论(1编辑  收藏  举报