教材学习内容总结
第11章-JDBC与MySQL数据库
要点
- MySQL数据库管理系统
- 链接MySQL数据库
- 查询操做(基础)
- 更新、添加、删除(基础)
- 预处理语句(重点)
- 通用查询(难点)
- 事务
笔记
1. 查询操做
-
基本操做:php
- 与数据库取得链接(不一样数据库仅在这一句中的连接和代码中的驱动
forname
不一样):
String uri = "jdbc:mysql://localhost:3306/<所键表格的名字>?useSSL=true";
- 向已链接的数据库发送SQL语句建立查询对象(置于代码中):
try{ Statement sql=con.createStatement(); } catch(SQLException e ){}
- 处理SOL语句返回的结果(两种方式选一便可):
getString(int columnIndex) getString(String columnName)
- 友好关闭数据库:
con.close()
- 与数据库取得链接(不一样数据库仅在这一句中的连接和代码中的驱动
-
三种查询方式:html
- 顺序查询
- 控制游标
- 获得可滚动的结果集:
Statement stmt = con.createStatement(int type ,int concurrency);
- 获得可滚动的结果集:
- 条件与排序查询
- where子句:
select 字段 from 表名 where 条件
- 排序:
用order by子语句对记录排序
- where子句:
2. 更新、添加、删除
- 更新:
update 表 set 字段 = 新值 where <条件子句>
- 添加:
insert into 表(字段列表) values (对应的具体的记录)
或insert into 表 values (对应的具体的记录)
- 删除:
delete from 表名 where <条件子句>
3. 使用预处理语句
- 使用通配符
经常使用预处理语句设置通配符?的值的方法:java
void setData(int parameterIndex,Data x) void setDouble(int parameterIndex,double x) void setFloat(int parameterIndex,float x) void setInt(int parameterIndex,int x) void setLong(int parameterIndex,long x) void setString(int parameterIndex,string x)
4. 通用查询
- 编写一个类,只要用户将数据库名,SQL语句传递给该类对象,那么这个对象就用一个二维数组返回查询的记录(eg. 运行结果是个表格),使用的是返回到程序中的结果集来获取相关信息
- 具体步骤:
- 结果集的元数据对象:
ResultSetMetaData = rs.getMetaData();
- 调用getColumnCount()方法返回结果集rs中的列的数目:
int columnCount = metaData.getColumnCount()
- 想要返回第i列的数据就用:
string columnCount = metaData.getColumnCount(i)
- 结果集的元数据对象:
5. 事务
- JDBC事务处理步骤
- 关闭自动提交模式方法:
setAutoCommit(booean b)
- 处理事务方法:
commit()
- 处理事务失败:
rollback()
- 关闭自动提交模式方法:
教材学习中的问题和解决过程
- Q1:在老师的推荐和教程Intellj IDEA 简易教程的指导下,选择直接安装XAMPP,但下载完后运行了setup_xampp.bat显示运行成功了,但打开contral界面却出现以下情况?
通过查询得知,形成这个错误的缘由是,XAMPP的设置的经常使用端口,包含http和https端口都被占用了,参考了网上的经验对Apache的Config文件进行修改后就能够运行了。参考了百度经验,但因为个人82端口也被占用,所以将“80”改成“8080”,将“443”改成“4433”,关掉XAMPP后再次打开就能够运行了。mysql
- Q2:在phpMyAdmin中导入了安装包world.sql,在IDEA中运行程序仍是出现错误?
检查后发现是在配置的时候忘了将zip解压缩,致使选择的是错误的对象,建立出的是空的表。git
可使用快捷方式打开project Structuresql
解压后再按照教程进行下一步,成功建表后就能够运行了数据库
测试代码运行结果:数组
在phpAdmin中查询有:安全
代码调试中的问题和解决过程
- Q1:运行测试代码时代码能够成功运行,但在运行Example11_1.java时,却出现以下错误?
改正参数后仍有错误(查找失败,不存在表格)工具
在仔细审查后发现还未创建表格,回到SQL处执行代码:
use demo; CREATE TABLE students ( number char char(50) AUTO_INCREMENT PRIMARY KEY, name varchar(100), birthday data, height float ) CHARSET=UTF8;
建表如图:
再回到IDEA中运行代码便可成功运行了
思考与感悟
本周主要学习了数据库的安装和操做,在安装XAMPP的时候出现了不少小问题,在同窗和教材的帮助下成功一一解决了,安装好了数据库,从此的学习应该会更加方便。
错题总结
详见博客:week6测试错题总结
代码托管
详见码云:码云做业
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 400小时 | |
第七周 | 1324/200 | 2/11 | 20/20 | 深刻 |