20175221《Java程序设计》第9周学习总结
20175221 《Java程序设计》第9周学习总结
教材学习内容总结
第十一章主要内容有:
MySQL数据库管理系统
- 下载mysql-8.0.16-winx64

启动MySQL数据库服务器
- 启动MySQL数据库服务器并更改密码

MySQL客户端管理工具
- 完成数据库的建立,创建新表

JDBC
- 使用JDBC的程序和数据库建立连接,就可以使用JDBC提供的API操作数据库。
JDBC常用操作:
- 与数据库建立连接
- 向数据库发送SQL语句
- 处理SQL语句返回的结果
连接数据库
- 下载数据库驱动:

- 加载数据库驱动:
- 应用程序负责加载JDBC-MySQL数据库驱动的代码如下:
try{ Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
- 连接数据库:
- 使用
Connection getConnection(java.lang.String)方法建立连接的代码如下:
Connection con;
String uri =
"jdbc:mysql://192.168.100.1:3306/students?user=root&password=&useSSL=true";
try{
con = DriverManager.getConnection(uri); //连接代码
}
catch(SQLException e){
System.out.println(e);
}
- 使用
Connection getConnection(java.lang.String, java.lang.String, java.lang.String)方法,如果root用户密码是xx,将&password=更改为&password=xx即可,建立连接的代码如下:
Connection con;
String uri = "jdbc:mysql:// 192.168.100.1:3306/students? useSSL=true";
String user ="root";
String password ="";
try{
con = DriverManager.getConnection(uri,user,password); //连接代码
}
catch(SQLException e){
System.out.println(e);
}
- 注意汉字问题
查询操作:
- 向数据库发送SQL查询语句,代码如下:
try{Statement sql = con.createStatement();
}
catch(SQLException e){}
- 处理查询结果
- 关闭连接
顺序查询:指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false
控制游标:为了得到一个可滚动的结果集,需使用下述方法获得一个Statement对象。
Statement stmt = con.createStatement(int type ,int concurrency);条件与排序查询:
- where子语句一般格式: select 字段 from 表名 where 条件
- 排序:用order by子语句对记录排序更新、添加与删除操作
更新、添加与删除操作- 更新: update 表 set 字段 = 新值 where <条件子句>
- 添加: insert into 表(字段列表) values (对应的具体的记录) 或 insert into 表 values (对应的具体的记录)
- 删除: delete from 表名 where <条件子句>
使用预处理语句:Connection和某个数据库建立了连接对象con,那么con就可以调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,那么该对象调用下列方法都可以使得该底层内部命令被数据库执行。
事务:
JDBC事务处理步骤:
- 用setAutoCommit(booean b)方法关闭自动提交模式
- 用commit()方法处理事务
- 用rollback()方法处理事务失败
连接SQL Server数据库
- 加载SQL Server驱动程序:
try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e){
}
- 连接SQL Server数据库:
try{
String uri= "jdbc:sqlserver://192.168.100.1:1433;DatabaseName=warehouse";
String user="sa";
String password="dog123456";
con=DriverManager.getConnection(uri,user,password);
}
catch(SQLException e){
System.out.println(e);
}
连接Derby数据库
- 代码如下:
Connection con =
DriverManager.getConnection("jdbc:derby:students;create=true");
代码调试中的问题和解决过程
- 问题1:在更改MySQL密码时,报错

问题1解决方案:
- 这是因为我理解错了它 Enter password 的意思,这是让我输入原来的密码。而原本默认是没有密码的,所以直接回车即可。之后更改密码,完成。

代码托管(https://gitee.com/zxjacdl/zxj175221/tree/master/eleven/)

statistics.sh脚本的运行结果截图
上周考试错题总结
- 上周考试无错题
学习进度条(四月份继三月份)
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 8篇 | 100小时 | |
| 第一周 | 13/13 | 1/1 | 12/12 | |
| 第二周 | 309/322 | 1/2 | 13/25 | |
| 第三周 | 614/923 | 1/3 | 15/40 | |
| 第四周 | 384/1379 | 1/4 | 12/52 | |
| 第五周 | 565/1954 | 1/5 | 12/64 | |
| 第六周 | 1080/3034 | 1/6 | 15/79 | |
| 第七周 | 671/3705 | 1/7 | 12/91 | |
| 第八周 | 597/4302 | 1/8 | 12/103 | |
| 第九周 | 1533/5238 | 1/9 | 12/115 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:12
实际学习时间:12
改进情况:继续保持稳定前进
(有空多看看现代软件工程 课件软件工程师能力自我评价表)
参考资料
[ Java 2 实用教程(第5版)]
20175221《Java程序设计》第9周学习总结的更多相关文章
- 20175221 2018-2019-2 《Java程序设计》第一周学习总结
20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
Pop分组模式和表格模式对比 关键词: 驰骋工作流引擎 表单引擎 ccflow .net开源工作流 jflow Java工作流引擎 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 a ...
- zabbix监控交换机状态
1.在Zabbix中添加主机 输入名称.群组和交换机IP(交换机要开启snmp) 2.创建监控项 输入OID和其它信息(键值随便填,但是不能和系统内的键值重复)OID获取方法可查看上一篇文章:http ...
- php中curl返回false的解决办法
本文介绍一下自己在使用curl中遇到的问题解决办法.希望可以帮助到大家. 原文地址:代码汇个人博客 http://www.codehui.net/info/37.html 首先来看一个封装的curl函 ...
- Ubuntu 18.04中截图工具Shutter的编辑按钮不可用的解决办法
Shutter是一个由第三方提供的在Ubuntu上运行的截图工具,相对于系统自带的截图工具(默认可通过Ctrl + Shift + Print快捷键启动截图),最大的优点就是可以即时对图片进行编辑,在 ...
- 来自学长&师兄们的应届校招经验
PART1 记得三月的第一个星期五吧,小操场打球,偶遇一位研三师兄,就主动跟师兄聊起了校招求职.很高兴,能遇到一位愿意跟你分享他自己求职经验的师兄,师兄也很热情,我们聊了好多.下面,开始 ...
- springMVC静态资源
静态资源放在哪 静态资源不要放在WEB-INF里面,放在和WEB-INF同级的目录里,一起放在webapp下,原生tomcat中,这里的资源可以直接访问. springmvc配置怎么写 <!-- ...
- 毕业设计5:基于MicroPython的智能火灾报警器系统的设计与实现
随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.家里一旦发生火灾,如果出现扑救不及时.灭火器材缺乏.以及在场人惊慌失措.逃生迟缓等不利情况下,最终就会导致产生重大的生命财产的损失. 消防部 ...
- 随心测试_软测基础_004<测试人员工作职责>
接上篇续,依据_软测基础体系:<依据不同的测试对象,选取适合的方法,按照设计的流程完成测试工作,检验整个过程是否达到测试的目的>.“学以致用”,实践于工作职责 常见面试题: —— 诸如以下 ...
- VS编程,C#串口通讯,通过串口读取数据的一种方法
一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机 ...
- (四)jdk8学习心得之函数式接口
四.函数式接口 1. 格式 注:抽象方法就是通过lambda表达式或者方法引用实现. 2. Jdk提供的函数式接口(这里提供五个最为常用的) 3. 技巧 通过函数式接口,就可以把一个函数作为一个参数进 ...