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

本文总结了Java程序设计中关于JDBC与MySQL数据库的操作方法,包括数据库连接、查询、更新、事务处理等内容。

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数据库

代码托管

1043647-20180415221242844-900354884.png

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周37/371/110/10
第二周399/4361/212/22
第三周764/11631/318/40
第四周687/18131/412/52
第五周1127/29161/510/62
第六周1175/41602/714/76
第七周849/50333/1015/91

转载于:https://www.cnblogs.com/akashi/p/8848142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值