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. Master Boot Record

    https://en.wikipedia.org/wiki/Master_boot_record https://zh.wikipedia.org/wiki/主引导记录 A master boot r ...

  2. 2018/04/01 每日一个Linux命令 之 sleep

    今天看到一个很有意思的指令. sleep [睡觉/休眠] 的意思. 可以用来将目前动作延迟一段时间.之后触发 -- sleep number[smhd] 重要参数 number : 时间长度,后面可接 ...

  3. Linux IO模式及 select、poll、epoll详解及源码(转)

    原文:https://segmentfault.com/a/1190000003063859 我只摘取了其中的epoll代码示例,服务端代码 #define IPADDRESS "127.0 ...

  4. 谷歌技术"三宝"之MapReduce(转)

    原文:http://blog.csdn.net/opennaive/article/details/7514146   目录 MapReduce是干啥的 例子统计词频 map函数和reduce函数 M ...

  5. 帝国cms底部代码哪里改?要修改版权和统计代码

    最近接手的几个站是用帝国cms做的,底部代码那边都有一个**设计的链接,还有一些不相关的东西,第一眼看到就想把那些帝国cms底部代码清理掉,这就是让别人建站的烦恼,让他们删除说要收费,坑就一个字,自己 ...

  6. hibernate中cascade和inverse

    原文:http://blog.sina.com.cn/s/blog_7b9edd020100racc.html 这两个属性都用于一多对或者多对多的关系中. 而inverse特别是用于双向关系,在单向关 ...

  7. decltype类型声明- 现代C++新特性总结

    decltype类型声明 有时会遇到这样的情况:希望从表达式的类型推断出要定义的变量的类型,但不想用该表达式的值去初始化变量.为了满足这一需求,C++11引入了decltype,它的作用是选择并返回操 ...

  8. 多线程下载文件,ftp文件服务器

    1: 多线程下载文件 package com.li.multiplyThread; import org.apache.commons.lang3.exception.ExceptionUtils; ...

  9. 获取多达 16GB 的 Dropbox 免费空间!

    Dropbox官网

  10. 混合高斯模型(Mixtures of Gaussians)

    http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006924.html 这篇讨论使用期望最大化算法(Expectation-Maximizat ...