发表于: 2018-03-13 23:44:56
1 788
今天完成的事情:
1.将save,update,delete方法的返回值从void修改为Boolean。之前一直想着返回值是怎么判断得到的,怎么使用也不清楚。后来师兄告诉需要将这个值赋给Boolean类型的变量,判断是封装好的,会通过执行命令的数据库的返回结果判断。更新和删除默认返回的是被操作的行数,插入返回主键需要在mapper文件中配置。
2.远程连接数据库,用navicat时报错1045,添加指定IP后出现,未知错误当时应该是设置没有生效。在mysql数据库中运行下面的命令,然后再运行flush privileges;命令使设置立刻生效。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'要指定的IP' IDENTIFIED BY '指定IP的登陆密码' WITH GRANT OPTION;
然后查看user表就可以看到新增的IP地址已经被添加进去可以连接了。
上行的%有查到可以允许所有IP访问,有可能是因为开始时的密码不符合所以才出错。服务器上的MySQL每次修改密码策略后会恢复,但是已经添加过的账户密码可以用更改后的密码登陆。
3.异常类型继承关系。
所有非正常情况分成两种:异常(Exception)和错误(Error),它们都继承Throwable父类。Errror错误,一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等这种无法恢复或不可能捕获的错误,将导致应用程序中断,通常是应用程序无法处理的错误,因此也不应该使用catch块来捕获Error对象,定义方法时,也无须在throws子句中声明该方法可能抛出Error及任何子类。
Exception类下面的子类有RuntimeException类、IOExceotion类和SQLException类。RuntimException类的子类有IndexOutBoundsException类、NullPointerException类、ClassCastException类。还有一些继承这些类和的扩展异常类,在试图捕获DB中断异常时有一个CommunicationException是在mysql-connecter-java.jar包中的异常类就是继承自SQLException类。
当然因为DB中断属于严重异常,所以出错后必须进行及时处理,因此在应用程序里捕获这种异常时不必要的,而且可以用连接池等其他方法来解决这个问题。
明天的计划:
整理深度思考
遇到的问题:
远程连接数据库不允许,通过添加制定IP解决了。同时包含MySQL5.7的密码策略问题,当时安装时修改过密码策略,今天用的时候还需要改,应该是第一次改时只修改了root用户的,然后其他的地址是另外一份。
收获:
方法返回值,MySQL添加制定IP访问,异常类型关系。
评论