20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
教材学习内容总结
第十一章 JDBC数据库操作
- 
MySQL数据库管理系统 - 下载安装MySQL
- 若下载的是压缩包形式(书上提供的),需要配置环境变量;若是msi文件,直接安装即可
 
 
- 下载安装MySQL
- 
MySQL客户端管理工具 - 下载并安装老师推荐使用的xampp
- 输入测试连接状态代码
 
import static java.lang.System.out;
import java.sql.*;
public class ConnectionDemo {
    public static void main(String[] args)
                              throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String jdbcUrl = "jdbc:mysql://localhost:3306/demo";
        String user = "root";
        String passwd = "";
        try(Connection conn = 
                DriverManager.getConnection(jdbcUrl, user, passwd)) {
            out.printf("已%s数据库连接%n", 
                    conn.isClosed() ? "关闭" : "打开");
        } 
    }
}
- 
JDBC-MySQL数据库驱动 - 下载并安装JDBC-MySQL数据库驱动——mysql-connector-java-8.0.16
- 在IDEA中添加jar包
 
- 
查询操作 - 得到SQL查询语句对象
 
try{  Statement sql=con.createStatement();
}
catch(SQLException e ){}
- 
处理查询结果 - SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。
- ResultSet rs = sql.executeQuery("SELECT * FROM students");
 
- ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,获得一行数据后,ResultSet对象可以使用getXxx方法获得字段值(列值),将位置索引(第一列使用1,第二列使用2等)或列名传递给getXxx方法的参数即可。
 
- SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。
- 
关闭连接 - 应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕
 
- 
更新、添加与删除操作 - 更新
- update 表 set 字段 = 新值 where <条件子句>
 
- 添加
- insert into 表(字段列表) values (对应的具体的记录)
- insert into 表 values (对应的具体的记录)
 
- 删除
- delete from 表名 where <条件子句>
 
 
- 更新
- 
使用预处理语句 - 如果应用程序能针对连接的数据库,事先就将SQL语句解释为数据库底层的内部命令,然后直接让数据库去执行这个命令,显然不仅减轻了数据库的负担,而且也提高了访问数据库的速度。
- Connection和某个数据库建立了连接对象con,那么con就可以调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中
 
- 
通用查询 - 用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。
- metaData调用getColumnName(int i)方法就可以返回结果集rs中的第i列的名字:- String columnName = metaData.getColumnName(i);
 
 
- metaData调用
 
- 用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。
- 
事务:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。 - JDBC事务处理步骤
- 用setAutoCommit(booean b)方法关闭自动提交模式
- 用commit()方法处理事务
- 用rollback()方法处理事务失败用rollback()方法处理事务失败
 
 
- JDBC事务处理步骤
教材学习中的问题和解决过程
- 无
代码调试中的问题和解决过程
代码托管

上周考试错题总结
无
结对及互评
- 
博客中值得学习的或问题: 
- 
该同学把安装过程都截图保存至博客。 
- 
感觉感悟那一块的内容可以在具体一点,比如说具体遇到什么问题,如何解决,从中收获了什么,或是教材学习中增长的关于调试代码的经验。 
- 
代码中值得学习的或问题: - 无
 
- 
基于评分标准,我给本博客打分:11分。得分情况如下:正确使用Markdown语法(加1分);模板中的要素齐全(加1分);教材学习中的问题和解决过程, 一个问题加1分;代码调试中的问题和解决过程, 一个问题加1分;本周有效代码超过300分行的(加2分);排版精美的加一分;代码Commit Message规范的加1分;点评认真,能指出博客和代码中的问题的加1分;结对学习情况真实可信的加1分 
点评过的同学博客和代码
- 
本周结对学习情况 
- 
结对照片 - 结对学习内容
- 第十一章学习
- MyCP编程
 
 
- 结对学习内容
其他(感悟、思考等,可选)
- 本周对于数据库进行了初步学习,之前学过文件读取输出,类比本周学习内容,数据库是一个储存相同类型数据很好的媒介。
- 在运行程序时遇到了很多问题,要学会新软件的基本操作,出现错误提示时,要根据错误提示进行适当修改,不能贸然根据网络上教程乱改程序
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 第一周 | 11/11 | 1/1 | ||
| 第二周 | 262/273 | 1/2 | ||
| 第三周 | 642/915 | 1/3 | ||
| 第四周 | 384/1299 | 2/5 | ||
| 第五周 | 661/1960 | 1/6 | ||
| 第六周 | 1031/2991 | 2/8 | ||
| 第七周 | 123/3114 | 2/10 | ||
| 第八周 | 941/4055 | 2/12 | ||
| 第九周 | 1697/5752 | 4/16 | 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号