20165211 2017-2018-2 《Java程序设计》第7周学习总结
教材学习内容总结
本周,我学习了书本上第十一章的内容,以下是我整理的主要知识。
第十一章 JDBC和MySQL数据库
MySQL数据库管理系统
启用MySQL数据库服务器
直接关闭MySQL所占的命令行窗口不能关闭MySQL数据库服务器,使用操作系统提供的“任务管理器”来关闭MySQL数据库管理器。
修改数据库密码mysqladmin -u root -p password
MySQL客户端管理工具
JDBC
JDBC为专门用来操作数据库的API
JDBC操作不同的数据库仅仅是连接方式上的差异
连接数据库
-
下载JDBC-MySQL数据库驱动
-
加载JDBC-MySQL数据库驱动
-
连接数据库
1. Connection getConnection(java.lang.String,java.lang.String,java.lang.String) 2. Connection getConnection(java.lang.String)
-
注意汉字问题:若记录中有汉字,则建立连接时,多传递一个参数
characterEncoding
查询操作
-
向数据库发送SQL查询语句
try{Statement sql=con.createStatement(); } catch(SQLException e ){}
-
处理查询结果:
将查询结果放在一个ResultSet对象
-
关闭连接
顺序查询
使用ResultSet对象一次只能看到一个数据行,使用next()方法移到下一数据行,最初的查询位置就是游标位置。
控制游标
Statement stmt = con.createStatement(int type,int concurrency)
获得一个Statement对象
ResultSet re = stmt executeQuery(SQL语句)
根据参数type,concurrency的取值情况,stmt返回相应类型的结果集。
条件与排序查询
where子语句
select 字段 from 表名 where 条件
排序
用order by 子语句对记录进行排序
selete * from mess order by height
selete * from mess where name like '%林' order by name
更新、添加与删除操作
Statement对象调用方法
public int executeUpdate(String sqlStatement)
更新:update 表 set 字段=新值 where <条件子句>
添加:insert into 表(字段列表) values (相应的记录)
或insert into 表 values (对应的具体的记录)
删除:delete from 表名 where <条件子句>
使用预处理语句
预处理语句的优点
减轻了数据库的负担,也提高了访问数据库的速度
使用通配符
在sql对象执行前,必须调用相应的方法设置通配符“?”代表的具体值
通用查询
ResultSet对象调用getMetaData()方法返回一个ResultSetMetaData对象,然后调用getColumnCount()方法就可以返回结果集rs中列的数目,调用其他方法可以实现相应的功能。
事务
事务及处理
事务处理:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。
JDBC事务处理步骤
- 用setAutoCommit(booean b)方法关闭自动提交模式
- 用commit()方法处理事务
- rollback()方法处理事务失败
链接SQL Server数据库
- Microsoft SQL Server 2012
- 建立数据库
- JDBC-SQL Server数据库驱动
- 建立连接
连接Derby数据库
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 37/37 | 1/1 | 10/10 | |
第二周 | 399/436 | 1/2 | 12/22 | |
第三周 | 764/1163 | 1/3 | 18/40 | |
第四周 | 687/1813 | 1/4 | 12/52 | |
第五周 | 1127/2916 | 1/5 | 10/62 | |
第六周 | 1175/4160 | 2/7 | 14/76 | |
第七周 | 849/5033 | 3/10 | 15/91 |