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又很慢,所以明天再更新
随机推荐
- ios中iframe页面出现白屏问题
最近用ionic3开发的一个项目在ios中出现了白屏的问题 banner轮播图跳转网页 使用了iframe 但是却时不时的出现白屏现象 在android中一切正常 网上查资料发现 是因为ios不允许访 ...
- js的观察者模式
观察者模式(发布-订阅模式):它定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.由主体和观察者组成,主体负责发布事件,同时观察者通过订阅这些事件来观察该主体 ...
- Openresty 源码安装脚本
Openresty 中文官网地址 http://openresty.org/cn/ #! /bin/bash function openrestyinstall() { cd /opt/openres ...
- Labview多列列表框
前面板创建多列列表框 如何写入数据: 右键 创建属性节点 项名 创建属性节点 项符号 创造自定义项符号: 右键 创建调用节点 自定义项符号 设置为自定义符号 然后添加索引号 利用图片与声音 ...
- 安装openssh
在推进ansible用于配置管理与自动部署,其中一个很困扰的问题是创建ssh通道很慢,虽然ansible在同一个task里面是并行的控制多台受控端.但是每一个task都需要和受控端创建ssh通道,非常 ...
- [转载]Fiddler 解析!抓包抓得好真的可以为所欲为 [一]
说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了.昨天在面试一个安卓逆向,直接告诉我[抓包没有技术含量].在这里,我必须发一个教程,解析一下抓包神器——Fiddler.Fiddler仅仅是一 ...
- windows7安装dlib过程中遇到的问题总结以及运行实例效果
综合了无数网上记录过这个问题的文章,最后终于安装成功了! 首先有些文章说dlib从19.9版本起开始就不用cmake和boost的支持了,可能是我安装的dlib版本的问题?最后还是通过vs2015 + ...
- python day33 ,socketserver多线程传输,ftp作业
一.一个服务端连多个客户端的方法 1.服务端 import socketserver class MyServer(socketserver.BaseRequestHandler): def hand ...
- CornerStone使用跳坑总结(陆续更新)
Cornerstone是专门为Mac用户设计的Subversion(SVN)的控制,使版本控制更加透明.cornerstone根Xcode相比,能够更好的忽略文件,所以除了项目经理第一次初始化项目的时 ...
- ngix匹配规则
语法规则: location [=|~|~*|^~] /uri/ { … } =:开头表示精确匹配 ^~:开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...