20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
教材学习内容总结
第十一章 JDBC数据库操作
MySQL数据库管理系统
- 下载安装MySQL
- 若下载的是压缩包形式(书上提供的),需要配置环境变量;若是msi文件,直接安装即可
- 下载安装MySQL
MySQL客户端管理工具
- 下载并安装老师推荐使用的xampp
- 输入测试连接状态代码
import static java.lang.System.out;
import java.sql.*;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String jdbcUrl = "jdbc:mysql://localhost:3306/demo";
String user = "root";
String passwd = "";
try(Connection conn =
DriverManager.getConnection(jdbcUrl, user, passwd)) {
out.printf("已%s数据库连接%n",
conn.isClosed() ? "关闭" : "打开");
}
}
}
JDBC-MySQL数据库驱动
- 下载并安装JDBC-MySQL数据库驱动——mysql-connector-java-8.0.16
- 在IDEA中添加jar包
查询操作
- 得到SQL查询语句对象
try{ Statement sql=con.createStatement();
}
catch(SQLException e ){}
处理查询结果
- SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。
ResultSet rs = sql.executeQuery("SELECT * FROM students");
- ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,获得一行数据后,ResultSet对象可以使用getXxx方法获得字段值(列值),将位置索引(第一列使用1,第二列使用2等)或列名传递给getXxx方法的参数即可。
- SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。
关闭连接
- 应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕
更新、添加与删除操作
- 更新
update 表 set 字段 = 新值 where <条件子句>
- 添加
insert into 表(字段列表) values (对应的具体的记录)
insert into 表 values (对应的具体的记录)
- 删除
delete from 表名 where <条件子句>
- 更新
使用预处理语句
- 如果应用程序能针对连接的数据库,事先就将SQL语句解释为数据库底层的内部命令,然后直接让数据库去执行这个命令,显然不仅减轻了数据库的负担,而且也提高了访问数据库的速度。
- Connection和某个数据库建立了连接对象con,那么con就可以调用
prepareStatement(String sql)
方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中
通用查询
- 用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。
- metaData调用
getColumnName(int i)
方法就可以返回结果集rs中的第i列的名字:String columnName = metaData.getColumnName(i);
- metaData调用
- 用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。
事务:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。
- JDBC事务处理步骤
- 用setAutoCommit(booean b)方法关闭自动提交模式
- 用commit()方法处理事务
- 用rollback()方法处理事务失败用rollback()方法处理事务失败
- JDBC事务处理步骤
教材学习中的问题和解决过程
- 无
代码调试中的问题和解决过程
代码托管
上周考试错题总结
无
结对及互评
博客中值得学习的或问题:
该同学把安装过程都截图保存至博客。
感觉感悟那一块的内容可以在具体一点,比如说具体遇到什么问题,如何解决,从中收获了什么,或是教材学习中增长的关于调试代码的经验。
代码中值得学习的或问题:
- 无
基于评分标准,我给本博客打分:11分。得分情况如下:正确使用Markdown语法(加1分);模板中的要素齐全(加1分);教材学习中的问题和解决过程, 一个问题加1分;代码调试中的问题和解决过程, 一个问题加1分;本周有效代码超过300分行的(加2分);排版精美的加一分;代码Commit Message规范的加1分;点评认真,能指出博客和代码中的问题的加1分;结对学习情况真实可信的加1分
点评过的同学博客和代码
本周结对学习情况
结对照片
- 结对学习内容
- 第十一章学习
- MyCP编程
- 结对学习内容
其他(感悟、思考等,可选)
- 本周对于数据库进行了初步学习,之前学过文件读取输出,类比本周学习内容,数据库是一个储存相同类型数据很好的媒介。
- 在运行程序时遇到了很多问题,要学会新软件的基本操作,出现错误提示时,要根据错误提示进行适当修改,不能贸然根据网络上教程乱改程序
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 11/11 | 1/1 | ||
第二周 | 262/273 | 1/2 | ||
第三周 | 642/915 | 1/3 | ||
第四周 | 384/1299 | 2/5 | ||
第五周 | 661/1960 | 1/6 | ||
第六周 | 1031/2991 | 2/8 | ||
第七周 | 123/3114 | 2/10 | ||
第八周 | 941/4055 | 2/12 | ||
第九周 | 1697/5752 | 4/16 |
参考资料
- [Java2实用教程(第5版)]
- https://blog.csdn.net/qq_38263083/article/details/82693987
- https://blog.51cto.com/zhangdongxu/1921999
- http://www.cnblogs.com/mzxiaoze/p/10683431.html
20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 2018-2019-2 20175227张雪莹《Java程序设计》实验三 《敏捷开发与XP实践》
2018-2019-2 20175227张雪莹<Java程序设计> 实验三 <敏捷开发与XP实践> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号: ...
- 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》
2018-2019-2 20175227张雪莹<Java程序设计> 实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...
- 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉
2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...
- 2018-2019-2 20175227张雪莹《Java程序设计》实验五 《网络编程与安全》
2018-2019-2 20175227张雪莹<Java程序设计> 实验五 <网络编程与安全> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:20 ...
- 2018-2019-2 20175227张雪莹《Java程序设计》实验四 《Android程序设计》
2018-2019-2 20175227张雪莹<Java程序设计> 实验四 <Android程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第八周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型与集合框架 泛型:主要目的是可以建立具有类型安全的集合框架,如链表.散列 ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第六周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 第七章 内部类与异常类 内部类:在一个类中定义另一个类:包含内部类的类为外嵌类 内部类 ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第五周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 第六章接口与实现 接口 接口体中所有的常量访问权限一定是public和static(可 ...
随机推荐
- java 反射简说
1 Class类 就是类的类型.研究反射先了解下Class类. 获取类的类型的三种方法: Class c1 = 对象.getClass(); Class c2 = Class.forName(&quo ...
- 类 __getitem__ __getattr__ __call__
__getitem__ 实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,要表现得像list那样按照下标取出元素,需要实现__getitem__()方法 __g ...
- Spring 注入集合
Spring 中,注入集合类型的数值方式 <bean id="javaCollection" class="com.qie_zi.JavaCollection&qu ...
- python 操作手机
https://blog.csdn.net/wave_1102/article/details/41630469 import os import time import subprocess i = ...
- Qt自定义控件系列(一) --- 圆形进度条
本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于 ...
- [转]CentOS7利用systemctl添加自定义系统服务
原文:https://www.cnblogs.com/saneri/p/7778756.html CentOS7自定义系统服务 CentOS7的服务systemctl脚本存放在:/usr/lib/sy ...
- tensorflow 学习纪录(持续更新)
import tensorflow as tf import numpy as np #tensor = tf.constant([[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,7,8 ...
- Django 数据迁移
在1.6之前, Django只支持添加新的model到数据库, 而无法编辑或修改已经存在的model. 在当时, 这些Django缺失的功能可以通过South实现. 1. 新的命令 Django 1. ...
- Wpf TemplateBinding
TemplateBinding. ControlTemplate最终会被用到一个控件上,我们称这个控件为模板目标控件或者模板化控件,ControlTemplate里面的控件可以使用TemplateBi ...
- 【笔记】 laravel 的路由
路由简介 : 请求对应着路由,将用户的请求转发给相应的程序进行处理 建立URL与程序之间的映射 Laravel中的请求类型:get.post.put.patch.delete Route::get ...