20165211 2017-2018-2 《Java程序设计》第7周学习总结

教材学习内容总结

本周,我学习了书本上第十一章的内容,以下是我整理的主要知识。

第十一章 JDBC和MySQL数据库

MySQL数据库管理系统
启用MySQL数据库服务器

直接关闭MySQL所占的命令行窗口不能关闭MySQL数据库服务器,使用操作系统提供的“任务管理器”来关闭MySQL数据库管理器。

修改数据库密码mysqladmin -u root -p password

MySQL客户端管理工具
JDBC

JDBC为专门用来操作数据库的API

JDBC操作不同的数据库仅仅是连接方式上的差异

连接数据库
  1. 下载JDBC-MySQL数据库驱动

  2. 加载JDBC-MySQL数据库驱动

  3. 连接数据库

    1. Connection getConnection(java.lang.String,java.lang.String,java.lang.String)
    2. Connection getConnection(java.lang.String)
  4. 注意汉字问题:若记录中有汉字,则建立连接时,多传递一个参数characterEncoding

查询操作
  1. 向数据库发送SQL查询语句

    try{Statement sql=con.createStatement();
    }
    catch(SQLException e ){}
  2. 处理查询结果:

    将查询结果放在一个ResultSet对象

  3. 关闭连接

顺序查询

使用ResultSet对象一次只能看到一个数据行,使用next()方法移到下一数据行,最初的查询位置就是游标位置。

控制游标

Statement stmt = con.createStatement(int type,int concurrency)获得一个Statement对象

ResultSet re = stmt executeQuery(SQL语句)根据参数type,concurrency的取值情况,stmt返回相应类型的结果集。

条件与排序查询

where子语句

select 字段 from 表名 where 条件

排序

用order by 子语句对记录进行排序

selete * from mess order by height
selete * from mess where name like '%林' order by name
更新、添加与删除操作

Statement对象调用方法

public int executeUpdate(String sqlStatement)

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

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

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

使用预处理语句
预处理语句的优点

减轻了数据库的负担,也提高了访问数据库的速度

使用通配符

在sql对象执行前,必须调用相应的方法设置通配符“?”代表的具体值

通用查询

ResultSet对象调用getMetaData()方法返回一个ResultSetMetaData对象,然后调用getColumnCount()方法就可以返回结果集rs中列的数目,调用其他方法可以实现相应的功能。

事务
事务及处理

事务处理:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。

JDBC事务处理步骤
  1. 用setAutoCommit(booean b)方法关闭自动提交模式
  2. 用commit()方法处理事务
  3. rollback()方法处理事务失败
链接SQL Server数据库
  1. Microsoft SQL Server 2012
  2. 建立数据库
  3. JDBC-SQL Server数据库驱动
  4. 建立连接
连接Derby数据库

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 37/37 1/1 10/10
第二周 399/436 1/2 12/22
第三周 764/1163 1/3 18/40
第四周 687/1813 1/4 12/52
第五周 1127/2916 1/5 10/62
第六周 1175/4160 2/7 14/76
第七周 849/5033 3/10 15/91

20165211 2017-2018-2 《Java程序设计》第7周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. iOS核心动画の摘记

  2. python3学习笔记(9)_closure

    #python 学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #从高阶函数的定义,我们可以知道,把函数作为参数的函数, ...

  3. ionic项目打包好Xcode工程,模拟器运行各种沙盒缓存目录

    用ionic开发好的app,build好iOS端可用的Xcode工程,然后用模拟器跑起来.研究一下js写的代码做本地持久化时,不同类型的文件都放在那里了. cordova-plugin-sqliteS ...

  4. php.exe

    PhpStorm 10.0.2 php  interpreter  填入php.exe 暂且不用填写 Listen 63342

  5. SQL Server查询时添加一列连续的自增列

    SQL Server查询时添加一列连续的自增列 在SQL Server数据库中表信息会用到Identity关键字来设置自增列.但是当有数据被删除的话,自增列就不连续了.如果想查询出这个表的信息,并添加 ...

  6. lua 获取指定目录下指定后缀文件名

    lfs库是很好的选择,可惜不会编译,无奈只能自己写个简单的lua库.代码如下: #include <io.h> #include <stdio.h> #include &quo ...

  7. KVM VCPU线程调度问题的讨论

    2017-11-15 今天闲着没有突然想了想VCPU线程调度的问题,具体描述如下: 当代表VCPU的线程获得控制权后,首先会通过KVM接口进入到内核,从内核进入到非根模式,那么此时站在全局调度器的点上 ...

  8. hibernate注解(三)1+N问题

    一.什么时候会遇到1+N的问题? 前提:Hibernate默认表与表的关联方法是fetch="select",不是fetch="join",这都是为了懒加载而准 ...

  9. css内边距 边框

    /*1 元素的各边都有 10 像素的内边距 四个值上.右.下.左 两个上下,左右 三个值:上,左右,下*/ /*p {padding: 10%;}*/ h1 { padding-top: 10px; ...

  10. Jquery-plugins-toastr-消息提示

    toastr是一个基于jQuery简单.漂亮的消息提示插件,使用简单.方便,可以根据设置的超时时间自动消失. 1.使用很简单,首选引入toastr的js.css文件 html <link rel ...