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

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

标签(空格分隔):java


1. 本周学习总结

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

Answer:

1.一张图初步了解数据库与文件:

2.数据库操作:

MySQL命令整理

3.JDBC

1.两张图了解架构和工作原理:


2.JDBC编程一般步骤

4.DAO模式:

原理:将获得连接与释放连接的操作封装起来,提供访问数据库的统一入口
文章推荐:DAO-数据访问对象(Data Access Object) 模式


2. 书面作业

1. MySQL数据库基本操作

建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(截图)
-参考:实验任务书-题目1
Answer:
题目基本要求的完成:

其他SQL语句的应用:


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

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

Answer:
初步调试的结果:

Statement测试:

按题目要求对Statement改进,其中举一个方法实现数据库操作的功能,其他的方法类似:

//实现删除指定id学生的信息
	public int deleteStudent(int id) throws SQLException {
		String sql="delete from studen where id="+id;
		return statement.executeUpdate(sql);
	}

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

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


3. PreparedStatement与参数化查询

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

Answer:
PS:实验中提供的JDBCUtil.java将重复内容封装起来实现复用,这些代码就挺关键的。
根据PreparedStatement改进的两个方法举例:

//根据指定的name,按姓名查找学生  201521123082
public static STUDENT getStudentByName(String name) throws SQLException {
		String sql = "select * from student where name = ?";
		pStatement = connection.prepareStatement(sql);
		pStatement.setString(1, name);
		resultSet = pStatement.executeQuery();
		STUDENT student = new STUDENT(resultSet.getInt(1), resultSet.getString(2), resultSet.getString(3),
				resultSet.getInt(4), resultSet.getDate(5).toString());
		return student;
	}
//输出个范围内的所有学生  201521123082
public static void displayStudentBetween(String begin, String end) throws SQLException {
		String sql = "select * from student where birthday between ? and ?;";
		pStatement = connection.prepareStatement(sql);
		pStatement.setString(1, begin);
		pStatement.setString(2, end);
		resultSet = pStatement.executeQuery();
		System.out.println("id\tstuno\t\tname\t\tage");
		while (resultSet.next()) {
			System.out.print(resultSet.getInt("id")+"\t");
			System.out.print(resultSet.getString("stuno")+"\t\t");
			System.out.print(resultSet.getString("name")+"\t\t");
			System.out.print(resultSet.getInt("age"+"\n"));
		}
	}

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

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


4. JDBCUtil与DAO

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

Answer:
看了实验任务书后,其实实验五就是希望通过DAO(Data Access Object)模式实现对数据库中的学生信息进行学生的增删改查的功能。
如下实现增加和删除功能:


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

参考:实验任务书-题目5
Answer:
我们把对据库的操作封装在一个类中,这种方法称之为DAO模式。DAO模式实现了数据访问和业务逻辑分离,便于数据维护。在这个实验五中建立了StudentDao接口,接口中定义了对数据库进行操作的各种方法。只要编写一些单独的类来实现接口中定义的方法就好了。


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

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

Answer:
添加和删除购物车的商品部分源码如下:


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

Answer:
1.个人觉得,在安全领域差别非常大。文件中的数据谁都可以访问,而数据库中的文件需要有用户名和密码才能访问,保密性较强。
2.数据库读取的效率比较高而且容量大,关键是数据库相对于文件便于管理,这个更方便运用于软件和系统。


3. 码云

3.1. 码云代码提交记录

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


4.课外阅读

4.1 JDBC(TM) Database Access

Answer:

JDBC简介

JDBC API是一个Java API,可以访问任何类型的表格数据,特别是存储在关系数据库的数据。

JDBC可以帮助编写管理这三项规划活动的Java应用程序:
(1)连接到数据源,如数据库
(2)发送的查询和更新语句发送到数据库
(3)检索和处理在回答从数据库接收到查询结果

JDBC包括四个组件:
(1)在JDBC API
(2)JDBC驱动程序管理器
(3)JDBC测试套件
(4)JDBC-ODBC桥

JDBC架构:
两层和三层处理模型


4.2 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分

4.3 mysq数据库管理工具navicat基本使用方法

posted @ 2017-05-28 19:45  末日驿站  Views(173)  Comments(0Edit  收藏  举报