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历史-设置时间段”, 然后搜索并截图