发表于: 2018-03-10 22:28:24

1 565


今天完成的事情:

1.单一职责原则(Single Responsibility Principle)定义:一个类只负责一个职责。
如果类中有两项职责,当其中一项职责需求发生改变就需要修改类,则可能导致原本正常的另一项职责出错。所以
应该遵循单一职责原则,将两项职责放到两个类中。
职责扩散,因为某种原因职责被分化为粒度更细的多个职责。会导致违反单一职责原则。
遵循单一职责原的优点有:可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其功能的影响。
2.原始JDBC
2.1原始JDBC数据类型不对,在后面做的是后用惯了类型转换,这次在sql语句中使用了java中的数据类型。在用int时,输入了long类型,所以提示MySQLSytaxErrorException。Statement向数据库发送sql语句,所以执行环境是数据库中,这样数据类型就应该是mysql的,这样就改好了。

2.2执行查询操作时将结果复制给一个ResultSet类的对象,然后用resultSet的方法将表中的数据类型赋值给java中相应数据类型的变量。然后用printf方法格式化打印出来。printf 方法的第一个参数为输出的格式,后面的单个或多个参数表示待输出的数据对象要与前面的格式对应起来。"%"表示进行格式化输出,"%"之后的内容为格式的定义。答应的时候对应的数据对象会替代前面的格式符号。

明天的计划:

用预编译语句PreparStatement来做一次。

完善JDBCTemplate的代码。之前代码是写到测试类里面的,加dao层有点无从下手。

遇到的问题:

printf格式化输出。按照找到的教程解决了。前面是设置格式,%d和%s是后面字段的占位符。这里是把表格中的所有字段,用resultSet的方法赋值给相应数据类型的对象。

System.out.printf("id:%d,姓名:%s,qq:%s,职业:%s,报道时间:%s,毕业院校:%s,学号:%s,日报连接:%s,立愿:%s,师兄:%s,创建日期:%d,更新时间%d",id,name,qq,goal,registration_date,graduated_from,number,daily_link,pledge,senior,created_at,updated_at);

收获:

原始JDBC的过程是先用Class.forName()加载驱动程序这里可能会抛出ClassNotFountExpresion,然后用DriverManager()得到数据库连接对象connection,然后用connection.createStatement()创建执行sql语句的statement对象。

ResultSet对象用来保存查询结果的对象,除了保存功能还提供操作数据的功能,可以更新数据。通过next()方法进行行遍历所有查询结果,通过getString(i),getString("a"),(i为第几列,a为对应的列明)两种方式进行列表遍历。列遍历明天试下。


返回列表 返回列表
评论

    分享到