2165310 《Java程序设计》第7周学习总结

教材学习内容总结

通过JDBC管理数据库

  • 原理图:

  • 链接数据库方式

    - `Connection getConnection(java.lang.String) `
    - `Connection getConnection(java.lang.String, java.lang.String, java.lang.String)`
    - 汉字:传递一个参数characterEncoding
  • 查询操作:

    - 创建对象:
    try{  Statement sql=con.createStatement();
    }
    catch(SQLException e ){}
    - 处理查询结果:
    
      1.`ResultSetrs= sql.executeQuery("SELECT *FROM students");`
    
      2.无论字段是何种属性,总可以使用`getString(intcolumnIndex)`或 `getString(StringcolumnName)`方法返回字段值的串表示
    
    - 关闭链接:`con.close();`
    
    - 顺序查询:`Statementstmt= con.createStatement(int type ,intconcurrency);`(可滚动对象)
    
    - 条件与排序查询
    
      1.where子语句:`一般格式:select 字段 from 表名 where 条件`
    
      2.排序:`order by`子语句
  • 更新、添加与删除操作

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

由于本周主要配置XAMPP与学习Junit编写测试代码,还有一部分未能学习完成,下面将主要总结本周遇到的学习困难与解决方法

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

1.引入jar包后,Test类依然无法运行,如下图所示:

原因与解决方法:测试类必须由test开头,把test放到类名的后半部分就会报错,改成testGetAdd

2.用IDEA打开别的编辑器创建的项目无法运行Junit(jar包等配置,代码格式等无问题)

原因与解决方法:从IDEA本地创建项目再进行Junit测试类,具体原因不明,但是这样操作以后没有再出错

3.在实验第四次复数类的测试类编写的时候,发现测试时候本应该是定值的常量发生了变化,无法设定预想结果。

原因与解决方法:

在产品函数中代码加法函数方法体如下:

a+=m;
b+=n;//a,b分别为被加数的实数、虚数部分;m、n分别为加数实数、虚数部分
return new Complex(a,b);//复数构造方法

此处的返回值更新了原来a,b的值,在平时的代码书写中这样更方便,效率更高,但是这样导致测试代码原本的预设常数进行动态变化,难以设定预设值,修改后代码如下:

int c=a+m;
int d=b+n;//a,b分别为被加数的实数、虚数部分;m、n分别为加数实数、虚数部分
return new Complex(c,d);//复数构造方法

3.XAMPP的MySQL服务无法打开:

原因与解决方法:之前装了单独的MySQL,虽然关闭了但是仍然有冲突,卸载MySQL即可:

cd ~/

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
vim /etc/hostconfig and removed the line MYSQLCOM=-YES-rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

(Mac命令行)

4.卸载MySQL之后发现依然存在冲突,于是重装XAMPP,发现只有MySQL服务可以开启

原因与解决方法:没有进行重启,会显示:

XAMPP: Starting Apache...fail.
XAMPP: Another web server is already running.
XAMPP: Starting FTP...fail.
XAMPP: Another FTP daemon is already running.

百度后显示很可能是接口被占用,查询端口占用情况:并没有端口被占用。

想到可能需要重启,再度卸载重启后再安装,可以运行三项服务

5.JDBC在IDEA中的配置:

原因与解决方法:网络上多为Eclipse的教材,少数IDEA的教程仍有不少错误在,其实很简单,同Junit运行一样,在Dependencies中添加应用即可:

代码托管

上周考试错题总结

  • 测试完成后补充

20165310java_blog_week7的更多相关文章

随机推荐

  1. Recv-Q&Send-Q

    最近线上某些服务器老是报cpu load高,同机房其他机器却没有问题.排查发现以下异常 ss -nl Recv-Q Send-Q                 Local Address:Port ...

  2. LinkedList ArrayList 比较

    小结: 1.不是同步的,多线程情况下的处理 List list = Collections.synchronizedList(new LinkedList(...)); 2. 快速失败.并发修改异常 ...

  3. an upstream response is buffered to a temporary file

    an upstream response is buffered to a temporary file

  4. GUID Partition Table (GPT)

    https://en.wikipedia.org/wiki/GUID_Partition_Table https://zh.wikipedia.org/wiki/全局唯一标识分区表 GUID Part ...

  5. jquery ajax contentType设置

    默认get方法没有contentType,post方法的contentType为:application/x-www-form-urlencoded; charset=UTF-8 (1) 设置成app ...

  6. operator, itertools

    import operator import itertools info_list = [ {'name': 'Quinn', 'age': 50}, {'name': 'Ryan', 'age': ...

  7. oracle( 0 )事务

    一.并发引起的问题 脏读:能读取未提交的数据 不可重复读:T1事务读取数据后,T2事务执行更新操作,使T1无法再现前一次读取的结果.分三种情况: 1.值不同 2.少了记录 3.多了记录 幻象读(后两种 ...

  8. Py之pandas:dataframe学习【转载】

    转自:https://www.tutorialspoint.com/python_pandas/python_pandas_dataframe.htm 1.数据框4特性 列是不同类型的数据元素. 每列 ...

  9. 蒙特卡罗(Monte Carlo)方法简介

    蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 二 解决问题的基本思路 Monte Carlo方法的基本思想很早以前就被人们所发 ...

  10. [LeetCode] 787. Cheapest Flights Within K Stops_Medium tag: Dynamic Programming, BFS, Heap

    There are n cities connected by m flights. Each fight starts from city u and arrives at v with a pri ...