20175202 《Java程序设计》第九周学习总结
20175202 2018-2019-2 《Java程序设计》第九周学习总结
教材知识点总结
第11章 JDBC与MySQL数据库
MySQL数据库管理系统
MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统。
下载安装后,进行启动MySQL数据库服务器,并建立连接,建立数据库,创建表等操作。
连接MySQL数据库
1.下载JDBC-MySQL数据库驱动
2.加载JDBC-MySQL数据库驱动
代码如下:
```
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){}
```
3.连接数据库
使用```Connection getConnection(java.lang.String)```方法建立连接的代码如下:
```
Connection con;
Stringuri=
"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)```
方法建立连接的代码如下:
```
Connection con;
Stringuri =
"jdbc:mysql:// 192.168.100.1:3306/students? useSSL=true";Stringuser ="root";Stringpassword ="";
try{
con = DriverManager.getConnection(uri,user,password);//连接代码
}
catch(SQLException e){
System.out.println(e);
}
```
4.注意汉字问题
查询操作
具体步骤:
1.得到SQL查询语句对象
```
try{ Statement sql=con.createStatement();
}
catch(SQLException e ){}
```
2.处理查询结果
注意:
无论字段是何种属性,总可以使用
getString(int columnIndex)或
getString(String columnName)
方法返回字段值的串表示
3.关闭连接
顺序查询:
指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false。
控制游标:
为了得到一个可滚动的结果集,需使用下述方法获得一个Statement对象。
```Statement stmt = con.createStatement(inttype,intconcurrency);```
条件与排序查询:
where子语句
一般格式:
select 字段 from 表名 where 条件
2.排序
用order by子语句对记录排序
更新、添加与删除操作
1.更新
update 表 set 字段 = 新值 where <条件子句>
2.添加
insert into 表(字段列表) values (对应的具体的记录)
或
insert into 表 values (对应的具体的记录)
3.删除
delete from 表名 where <条件子句>
使用预处理语句
```Connection和某个数据库建立了连接对象con,那么con就可以调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,那么该对象调用下列方法都可以使得该底层内部命令被数据库执行。```
事务
JDBC事务处理步骤
1.用setAutoCommit(booean b)方法关闭自动提交模式
2.用commit()方法处理事务
3.用rollback()方法处理事务失败
学习过程中遇到的问题
1.jdbc于hibernate连接数据库相比有什么优劣?
解决:jdbc就内存消耗、运行效率和开发效率上较hibernate的架构有很大优点。但在分布式,安全检查,集群,负载均衡的支持上,两个构架没有差别。
2.无法运行教材上Example11_1的代码。
解决:在命令行终端输入```sudo apt-get install mysql-server mysq1-client```命令,安装MySQL,之后问题解决。
上周考试错题总结
1. 如果超出JVM运行能力之外,如“byte[] arr=new
byte[1024 * 1024 *600];”会抛出java.lang.OutOfMemory
Error异常。
A.true
B.false
正确答案:B
知识点: 对于严重的错误,通过Error类来描述,而对于非严重的问题,则是通过Exception类来进行描述的。
2.InputStream类继承自FileInputStream,可以以字节为单位读取文件。
A.true
B.false
正确答案:B
知识点:InputStream类是父类,FileInputStream是子类。
3.下列关于TreeSet泛型类常用方法的介绍,正确的是
A.public boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。如果指定对象无法与该 set 中的当前元素进行比较,或不包含,则返回false。
B.public boolean add(E e)将指定的元素添加到此 set。如果此 set已经包含这样的元素,则该调用不改变此 set 并返回 false。
C.public boolean addAll(Collection<? extends E> c)将指定 collection 中的所有元素添加到此 set 中。如果此 set 由于调用而发生更改,则返回 true。
D.public E lower(E e) 返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
正确答案:BCD
知识点:如果指定对象无法与该 set 中的当前元素进行比较,则抛出ClassCastException异常。
学习心得体会
本周学习了数据库的相关内容,大部分时间主要花在了MySQL的安装上。但经过自己的认真学习和同学的帮助,成功安装了MySQL并学习了数据库的内容。本周在Java课程第十一章的学习上用了较长的时间,也是自己的一个进步,希望自己再接再厉。
20175202 《Java程序设计》第九周学习总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 20145220java程序设计第九周学习总结
20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 马凯军201771010116《面向对象与程序设计Java》第九周学习总结
一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 《Java》第九周学习总结
下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新
随机推荐
- 【SoftwareTesting】Lab 1
1. 安装junit, hamcrest 和 eclemma 分别下载 hamcrest-core-1.3.jar和junit-4.12.jar这两个jar包,并加入到新建的项目中 具体步骤为:右 ...
- 计算1~100之间,能被3整除但是不能被7整除的数的和(C语言)
#include<stdio.h> int main(agrc *agrv) { int n,i; int sum=0; scanf("%d",&n); for ...
- CenOS 更换yum源
说明: 更换CentOS yum源既是修改配置文件/etc/yum.repos.d/CentOS-Base.repo. 目前有很多公司都提供yum源文件的下载,所以我们可以不需要去修改这个文件,直接从 ...
- js 回调函数理解
function A(callback) { console.log('我是主函数'); setTimeout(function () { callback("我是主函数传出的") ...
- 第七届蓝桥杯大赛个人赛决赛(软件类C语言B组)第一题:一步之遥
这题好多人用爆搜/bfs来做,然而这题可用exgcd(扩展欧几里得)做,而且很简便. 先附原题: 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的面 ...
- Wisdom RESTClient 使用教程
Wisdom RESTClient 一款自动化测试REST API的工具,它可以自动化测试RESTful API并生成精美的测试报告,同时基于测试过的历史API,可以生成精美的RESTful API文 ...
- mysql com.mysql.cj.jdbc.Driver 配置
需配置时区 例如 url jdbc:mysql://127.0.0.1/sell?serverTimezone=Hongkong&useUnicode=true&characterEn ...
- c++利用类进行单链表的插入,删除,清空操作
#if 1 #include <iostream> #include <stdlib.h> #include <time.h> #include <fstre ...
- 如何删除node_modules
1.$ npm install -g rimraf 执行此命令 2.$ rimraf node_modules
- 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...