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. python数据结构之哈希表

    哈希表(Hash table) 众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry.这些个键值对(Entry)分散存储在一个数组当中,这个数组就是Has ...

  2. 使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi: fastcgi_connect_timeout 75; 链接 fastcgi_read_timeout 600; 读取 fastcgi_send_timeout 600; 发请求

    使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi: fastcgi_connect_timeout 75;  链接 fastcgi_read_timeout 600; ...

  3. create view in view

    CREATE VIEW view_region2role AS ( SELECT region_set_id, region_set_name, GROUP_CONCAT(id) gc_id, GRO ...

  4. 500 status http status code 状态码

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Status Server error responses 500 Internal Server ...

  5. 44(function pointer 2)

    #include<iostream> using namespace std; class A { public: int x; int sayhello() { cout<< ...

  6. GA安装

  7. 2018/03/23 每日一个Linux命令 之 sed

    官方定义: Linux sed命令是利用script来处理文本文件. sed可依照script的指令,来处理.编辑文本文件. Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等 ...

  8. 两种JS事件流

    1.事件冒泡流(从注册事件元素到外侧容器元素的过程): 2.事件捕获流(与冒泡相反的过程):

  9. ifconfig 查看网卡信息

    [root@linux-node- sss]# ifconfig eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu inet ...

  10. kettle 安装mysql 驱动

    错误连接数据库 [mysql] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying ...