• 20165223《Java程序设计》第七周Java学习总结


    教材学习内容总结

    第11章-JDBC与MySQL数据库

    要点

    • MySQL数据库管理系统
    • 连接MySQL数据库
    • 查询操作(基础)
    • 更新、添加、删除(基础)
    • 预处理语句(重点)
    • 通用查询(难点)
    • 事务

    笔记

    1. 查询操作

    • 基本操作:

      • 与数据库取得连接(不同数据库仅在这一句中的链接和代码中的驱动forname不同):
      String uri = "jdbc:mysql://localhost:3306/<所键表格的名字>?useSSL=true";
      
      • 向已连接的数据库发送SQL语句创建查询对象(置于代码中):
      try{  Statement sql=con.createStatement();
      }
      catch(SQLException e ){}
      
      • 处理SOL语句返回的结果(两种方式选一即可):
      getString(int columnIndex)
      getString(String columnName)
      
      • 友好关闭数据库:con.close()
    • 三种查询方式:

      • 顺序查询
      • 控制游标
        • 得到可滚动的结果集:Statement stmt = con.createStatement(int type ,int concurrency);
      • 条件与排序查询
        • where子句:select 字段 from 表名 where 条件
        • 排序:用order by子语句对记录排序

    2. 更新、添加、删除

    • 更新:update 表 set 字段 = 新值 where <条件子句>
    • 添加:insert into 表(字段列表) values (对应的具体的记录)insert into 表 values (对应的具体的记录)
    • 删除:delete from 表名 where <条件子句>

    3. 使用预处理语句

    • 使用通配符

    常用预处理语句设置通配符?的值的方法:

    void setData(int parameterIndex,Data x)
    void setDouble(int parameterIndex,double x)
    void setFloat(int parameterIndex,float x)
    void setInt(int parameterIndex,int x)
    void setLong(int parameterIndex,long x)
    void setString(int parameterIndex,string x)
    

    4. 通用查询

    • 编写一个类,只要用户将数据库名,SQL语句传递给该类对象,那么这个对象就用一个二维数组返回查询的记录(eg. 运行结果是个表格),使用的是返回到程序中的结果集来获取相关信息
    • 具体步骤:
      • 结果集的元数据对象:ResultSetMetaData = rs.getMetaData();
      • 调用getColumnCount()方法返回结果集rs中的列的数目:int columnCount = metaData.getColumnCount()
      • 想要返回第i列的数据就用:string columnCount = metaData.getColumnCount(i)

    5. 事务

    • JDBC事务处理步骤
      • 关闭自动提交模式方法:setAutoCommit(booean b)
      • 处理事务方法:commit()
      • 处理事务失败:rollback()

    教材学习中的问题和解决过程

    • Q1:在老师的推荐和教程Intellj IDEA 简易教程的指导下,选择直接安装XAMPP,但下载完后运行了setup_xampp.bat显示运行成功了,但打开contral界面却出现如下状况?

    经过查询得知,造成这个错误的原因是,XAMPP的设置的常用端口,包含http和https端口都被占用了,参考了网上的经验对Apache的Config文件进行修改后就可以运行了。参考了百度经验,但由于我的82端口也被占用,因此将“80”改为“8080”,将“443”改为“4433”,关掉XAMPP后再次打开就可以运行了。

    • Q2:在phpMyAdmin中导入了安装包world.sql,在IDEA中运行程序还是出现错误?

    检查后发现是在配置的时候忘了将zip解压缩,导致选择的是错误的对象,创建出的是空的表。

    可以使用快捷方式打开project Structure

    解压后再按照教程进行下一步,成功建表后就可以运行了

    测试代码运行结果:

    在phpAdmin中查询有:

    代码调试中的问题和解决过程

    • Q1:运行测试代码时代码可以成功运行,但在运行Example11_1.java时,却出现如下错误?

    改正参数后仍有错误(查找失败,不存在表格)

    在仔细审查后发现还未建立表格,回到SQL处执行代码:

    use demo;
    CREATE TABLE students (
    number char char(50) AUTO_INCREMENT PRIMARY KEY,
    name varchar(100),
    birthday data,
    height float
    ) CHARSET=UTF8;
    

    建表如图:

    再回到IDEA中运行代码即可成功运行了

    思考与感悟

    本周主要学习了数据库的安装和操作,在安装XAMPP的时候出现了很多小问题,在同学和教材的帮助下成功一一解决了,安装好了数据库,今后的学习应该会更加方便。

    错题总结

    详见博客:week6测试错题总结

    代码托管

    详见码云:码云作业

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 3000行 30篇 400小时
    第七周 1324/200 2/11 20/20 深入

    参考资料

    1. 教学视频
    2. 程序开发与信息安全工具箱
    3. Intellj IDEA 简易教程
  • 相关阅读:
    Django的rest_framework的视图之基于通用类编写视图源码解析
    Django的rest_framework的视图之Mixin类编写视图源码解析
    Django1.0和2.0中的rest_framework的序列化组件之超链接字段的处理
    Django的restframework的序列化组件之对单条数据的处理
    Django2.0的path方法无法使用正则表达式的解决办法
    算法的时间复杂度和空间复杂度简单理解
    回归后端分页本质,理清后端分页思路
    SQL Server 2008R2向表中添加字段
    Asp.net IIS 服务器配置远程访问
    linux write 命令
  • 原文地址:https://www.cnblogs.com/moddy13162201/p/8846519.html
Copyright © 2020-2023  润新知