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);
}

使用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课程第十一章的学习上用了较长的时间,也是自己的一个进步,希望自己再接再厉。

转载于:https://www.cnblogs.com/gexvyang/p/10786403.html

20175202 《Java程序设计》第九周学习总结相关推荐

  1. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  2. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  3. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  4. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  5. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  6. 20172304 《程序设计与数据结构》第九周学习总结

    20172304 <程序设计与数据结构>第九周学习总结 教材学习内容总结 本章是第十五章,主要介绍了图的概念. 首先我来介绍一下图的基本结构. 从逻辑上讲,图是由边和结点组成的,在我的理解 ...

  7. 20162329 2017-2018-1 《程序设计与数据结构》第九周学习总结

    第九周学习总结 一.学习目标 二叉查找树的理解 二叉查找树的实现 平衡二叉查找树 哈夫曼树的实现 堆的理解 堆的实现 二.学习内容 1.二叉查找树 思路: 二叉查找树与一般二叉树的区别在于,二叉查找树 ...

  8. 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.图及无向图 1.图的相关概 ...

  9. 20172315 2017-2018-2 《程序设计与数据结构》第九周学习总结

    学号 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常是定义一个非正常情况或错误的对象,由程序或运行时环境抛出. 异常与错误不同,错误代表不可恢复的问题 ...

最新文章

  1. java 之 网络编程
  2. eclipse总是运行上一个程序结果
  3. 『ACM-算法-动态规划』初识DP动态规划算法
  4. 【单片机】简单的时钟代码
  5. 联想y430完全拆机图解_y430p拆机详细步骤及如何安装mSATA接口的固态硬盘?
  6. 文献阅读-深度学习跨模态图文检索研究综述
  7. 腾讯云学生服务器分享
  8. javafx 菜单组件_基础6:新菜单组件
  9. js代码在调试状态执行正确,但是正常使用时没有反应
  10. ios 点生成线路 百度地图_iOS百度地图开发之路径规划
  11. 2021.12月电脑浏览器推荐-cent浏览器内存占用只有Google谷歌Chrome的68%
  12. 计算机mc mr,【科普贴】计算器上的GT、CE、AC、MU、MC、MR、M-、M+都是什么?
  13. 【寻找最佳小程序】12期:小程序数据助手——微信官方打造,移动端数据分析工具...
  14. c语言多态性编码图形,C和C++经典著作 C专家编程Expert C Programming Deep C Secrets pdf...
  15. NetSpeed--网速检测
  16. re python 引擎_python 详解re模块
  17. python牛顿迭代法求平方根_Newton迭代法求平方根
  18. RROR: [XSIM 43-3238] Failed to link the design.
  19. 单片机学多久能工作,单片机学好了能应聘什么工作?
  20. 「话题」为什么微信红包不能撤回、语音不能转发、通讯录还是主页面?

热门文章

  1. 加密Spring加载的Properties文件
  2. 常用Linux运维命令
  3. 基于Minio和Thumbor搭建独立图片服务
  4. Batch Normailzation
  5. 一个简单的crontab
  6. linux gtk python,python-Linux上具有pygtk(gtk.gdk)的桌面/根窗口上的键盘/鼠标事件
  7. linux 在家工作_我如何调整在家工作的习惯
  8. 树莓派 树莓派 编c++_树莓派6年
  9. 人力资源大数据公司_大数据与人力资源相结合,平衡透明度和隐私
  10. 你知道配置管理工具是什么吗_什么是配置管理工具?