发表于: 2018-04-01 22:28:43
1 511
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
明天计划的事情:(一定要写非常细致的内容)
遇到的问题:(遇到什么困难,怎么解决的)
收获:(通过今天的学习,学到了什么知识)
今天完成的事情:1.学习try catch 异常处理方法
try{ 程序代码
}
catch (异常类型 异常带量名)
举个例子:catch (FileNotFoundException e) {
System.out.println("d:/A.exe不存在");
e.printStackTrace();
} catch (ParseException e) {
System.out.println("日期格式解析错误");
e.printStackTrace();
1.将可能抛出FileNotFoundException 文件不存在异常的代码放在try
2.如果文件存在,就会顺序往下执行,并且不执行catch块中的代码
3. 如果文件不存在,try 里的代码会立即终止,程序流程会运行到对应的catch块中
4. e.printStackTrace(); 会打印出方法的调用痕迹,这样就便于定位和分析到底哪里出了异常
所以若try里面没有错误将不会执行catch语句,反之从错误的句子马上跳出执行catch并打印异常
finally语句:无论是否出现异常,finally中的代码都会被执行 所以finally里有改动try运行结果的能力。
throw和throws:throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某个异常对象。
总体上异常分三类:
1. 错误
2. 运行时异常
3. 可查异常
Throwable是类,Exception和Error都继承了该类
2.用preparedStatement,executeQuery 执行多条插入语句
这里需要注意书写sql语句格式,并要使用setXXX语句,记住一次,差不多以后都就会用。
为了更好理解execute和executeUpdate,我查了一下两者区别:
execute与executeUpdate的相同点:都可以执行增加,删除,修改
不同1:
execute可以执行查询语然后通过getResultSet,把结果集取出executeUpdate不能执行查询语句
不同2:
execute返回boolean类型,true表示执行的是查询语句,false表示执行的是insert,delete,update等executeUpdate返回的是int,表示有多少条数据受到了影响
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句。返回值是更新的记录数量
3.了解并熟悉了ORM,理解了它的原理
简单说,一个对象,对应数据库里的一条记录
从数据库取出数据>>封装到一个对象里面去(对象=new 对象)>>将对象返回出去>>用户获得对象信息
4.了解了DAO定义和原理,查阅网上相关继承接口代码
DAO(Data Access Object)是一个数据访问接口,它是J2EE标准中的一种访问数据库的模式。
这是一个继承DAO的Hero实现类但是这里有个问题:
public
List<Hero> list() {
return
list(
0
, Short.MAX_VALUE);
}
这是一个构造方法list(),它返回的是一个区间为0—Short.MAX_VALUE=32767 ,但下面已经定义了一个关于自定义区间的list函数,那前面一个构造方法是不是就没有必要了?
5.学习了解了 try-with-resources
try括号内的资源会在try语句结束后自动释放,前提是这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。
原来这还有个专业术语, try-with-resources statement ,它会自动关闭括号内的资源(resources),不用手动添加代码 xx.close(); 了。
1. resource 必须继承自 java.lang.AutoCloseable
2. 定义和赋值必须都在try里完成
比如
public
int
getTotal() {
int
total =
0
;
try
(Connection c = getConnection(); Statement s = c.createStatement();) {
String sql =
"select count(*) from hero"
;
ResultSet rs = s.executeQuery(sql);
明天计划的事情:
1.开始用Jbdc编写DAO
收获:1.基本学会了try catch 异常处理
2.熟悉了ORM,我觉得可以触类旁通一下可以去搞DAO
评论