201711671212 《JAVA程序设计》第十一周学习总结

教材学习内容总结

本周学习内容:第11章 JDBC数据库操作;第十二章 :Java多线程机制

第十一章 JDBC数据库操作

1.MySQL数据库管理系统:简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统。

2.查询操作具体步骤

  • 向数据库发送SQL语句。
  • 处理查询结果。
  • 关闭连接:ResultSet对象和数据库连接对象(Connection对象)实现了紧密的绑定,一旦连接对象被关闭,ResultSet对象中的数据立刻消失。这就意味着,应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕

3.顺序查询:指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false。

4.控制游标:为了得到一个可滚动的结果集,需使用下述方法获得一个Statement对象。

Statement stmt = con.createStatement(int type ,int concurrency);

5.条件与排序查询

  • where子语句:select 字段 from 表名 where 条件。

  • (1)字段值和固定值比较;(2)字段值在某个区间范围;..

  • 排序:用order by子语句对记录排序

6.更新、添加与删除操作

  • 更新:update  表 set 字段 = 新值 where <条件子句>。

  • 添加:insert into 表(字段列表) values (对应的具体的记录) 或 insert into 表 values (对应的具体的记录)。

  • 删除:delete from  表名 where <条件子句>。

7.使用预处理语句

  • 优点:如果应用程序能针对连接的数据库,事先就将SQL语句解释为数据库底层的内部命令,然后直接让数据库去执行这个命令,显然不仅减轻了数据库的负担,而且也提高了访问数据库的速度。
  • 使用通配符?  :在sql对象执行之前,必须调用相应的方法设置通配符?代表的具体值,如:sql.setFloat(1,1.76f); sql.setString(2, "武泽");
  • 预处理SQL语句sql中第1个通配符?代表的值是1.76,第2个通配符?代表的值是'武泽'。通配符按着它们在预处理SQL语句中从左到右依次出现的顺序分别被称为第1个、第2个、……、第m个通配符。

8.通用查询:目的是编写一个类,只要用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。

  • 结果集ResultSet对象rs调用getMetaData()方法返回一个ResultSetMetaData对象(结果集的元数据对象)。
  • metaData,调用getColumnCount()方法就可以返回结果集rs中的列的数目。
  • metaData调用getColumnName(int i)方法就可以返回结果集rs中的第i列的名字。

9. 事 务:由一组SQL语句组成,所谓事务处理是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。

  •  JDBC事务处理步骤

(1).用setAutoCommit(booean b)方法关闭自动提交模式。

(2).用commit()方法处理事务。

(3).用rollback()方法处理事务失败。

10.设计思路

  • 1.数据库设计
  • 在清楚了用户的需求之后,就需要进行数据库设计。数据库设计好之后才能进入软件的设计阶段,因此当一个应用问题的需求比较复杂时,数据库的设计(主要是数据库中各个表的设计) 就显得尤为重要
  • 2.数据模型
  • 程序应当将某些密切相关的数据封装到一个类中,例如,把数据库的表的结构封装到一个类中,即为表建立数据模型。其目的是用面向对象的方法来处理数据
  • 3.数据处理者
  • 程序应尽可能能将数据的存储与处理分开,即使用不同的类。数据模型仅仅存储数据,数据处理者根据数据模型和需求处理数据,比如当用户需要注册时,数据处理者将数据模型中的数据写入到数据库的表中
  • 4.视图
  • 程序尽可能提供给用户交互方便的视图,用户可以使用该视图修改模型中的数据。并利用视图提供的交互事件(例如ActionEvent事件),将模型交给数据处理者

11.总结

  • (1)JDBC技术在数据库开发中占有很重要的地位,JDBC操作不同的数据库仅仅是连接方式上的差异而已,使用JDBC的应用程序一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库。

  • (2)当查询ResultSet对象中的数据时,不可以关闭和数据库的连接。

  • (3)使用PreparedStatement对象可以提高操作数据库的效率。

第十二章 :Java多线程机制

  1. 现代操作系统可以让计算机系统中的多个进程轮流使用CPU资源,甚至可以让多个进程共享操作系统所管理的资源。
  2. 线程不是进程,是比进程更小的执行单位,且行为与进程很像;没有进程就不会有线程。
  3. Java语言支持多线程。
  4. 计算机在任何给定的时刻只能执行所有线程中的一个;Java虚拟机能够快速地把控制从一个线程切换到另一个线程。
  5. Java总是从主类的main方法开始执行,执行完main方法后JVM会等其他所有线程都结束之后,才结束Java程序。
  6. 线程有4种状态:新建、运行、中断、死亡。
  7. 引起线程中断的原因:

    (1)JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU使用权处于中断状态。

    (2)线程使用CPU资源期间,执行了sleep(int millsecond)方法,是当前线程进入休眠状态。

    (3)线程使用CPU资源期间,执行了wait()方法,是当前线程进入等待状态。

    (4)线程使用CPU资源期间,执行某个操作进入阻塞状态。

  8. 程序要在Thread类的子类中重写run()方法来覆盖父类的run()方法,并且规定线程的具体操作;在线程没有结束run()方法之前,不要让线程再调用start()方法。
  9. JVM的线程调度器会使高优先级的线程能始终运行。但是在实际编程中不提倡使用线程的优先级来保证算法的正确执行。
  10. 使用Thread类创建线程对象:Thread(Runnable target)。
  11. 目标对象与线程的关系:完全解耦:目标对象通过获得线程的名字来确定是哪个线程正在占用CPU资源;弱耦合:组合线程,将目标对象作为自己的成员,可以获得线程对象的引用。
  12. 线程同步:若干个线程都需要使用一个synchronized(同步)修饰的方法,多个线程调用该synchronized方法必须遵守同步机制。
  13. 协调同步的线程:wait()、notify()、notifyAll()都是类中的final方法,被所有的类继承且不允许重写的方法。
  14. 不可以在非同步方法中使用wait()、notify()、notifyAll()。
  15. 线程联合、GUO线程、计时器线程、守护线程。

参考资料

  • Java 2 实用教程(第5版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值