关于UserDaoImpl.java代码中的一些问题:代码粘贴如下,求大神指导。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于UserDaoImpl.java代码中的一些问题:代码粘贴如下,求大神指导。相关的知识,希望对你有一定的参考价值。
package dao.jdbc;
import org.springframework.jdbc.core.JdbcTemplate;
public class UserDaoImpl
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate)
this.jdbcTemplate = jdbcTemplate;
public int getMatchCount(String userName, String password)
String sql = "SELECT COUNT(*) FROM FD_USERS WHERE USERNAME=? AND PASSWORD=?";
//return getMatchCount(userName, password);
return jdbcTemplate.queryForInt(sql,new Object[]userName,password);
问题:①dao到底是一个类还是一个接口?我看有的程序写成类有的写成接口,到底哪个好?
②这是书上的一段代码,我想知道怎么只有setter没有getter?
③return的返回值如果是注释的方法会怎样?二者有什么区别?
④还是return返回值:new Object[]userName,password里的大括号是什么?以前没见过这么写代码,请大神解释!
答:dao通常是设计模式里面的一个名词,在MVC模式里充当的是数据持久层,也称为模型层(M)。所用持术很多,具体可以找一些设计模式的资料查看,目前市场上最流行的M层的两个技术是ibatis、hibernate框架。要区分类和接口很简,直接看类名前面的关键字“class”是一个类,“interface”是一个接口。到底哪个好就要看项目的设计了,一般大型的项目都用接口,接口方便括展。
②这是书上的一段代码,我想知道怎么只有setter没有getter?
答:如果使用spring管理been,set方法是spring依赖注入所必需的方法,setter用于设置值,getter用于取值。
③return的返回值如果是注释的方法会怎样?二者有什么区别?
答:无意义代码。无需纠结。如果非要说会怎么样,按照代码逻辑,会返回“0”。区别在于,注释那句返回“0”,下面那句执行查询sql返回查询结果。
④还是return返回值:new Object[]userName,password里的大括号是什么?以前没见过这么写代码,请大神解释!
答:Object[]是一个Object类型的一维数组,大括号里面是给数组赋的两个初始值,object[0]=userName,object[1]=password。如果不清楚可以看看数组的语法结构。
希望可以帮到你。追问
关于setter和getter,还有return返回值那块能不能细讲讲?多谢了。
追答亲,怎么一点程序设计知识都没有吗??建议你买点书来看,《java程序设计》这本书很好,浅显易懂。好,还是给你讲讲吧。
setter和getter其实就是每种程序语言里都有的一个概念,java中叫“方法”,在C,C##或其它程序语言中叫做“函数”。setter就是定义了一个set方法,那getter就是定义一个get方法了。例如:
public class Person
public String name;
public void setName(String _name)
this.name = _name;
public String getName()
return this.name;
上面定义了一个person类,见名知意,我们叫它“对象”,现实意思就是一个人。这个人有一个名字,我们用“name”这个属性来表示。“name”前面的“String”是这个属性的类型,表示它是一个字符串;“String”前面的“public”是用来修饰这个属性的,表示它是公共的,任何“人”都可以访问。
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式为:
[修饰符] 返回值类型 方法名( 形式参数列表 )
Java 语句;… … …
语法解释:
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返回给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,无返回值,必须给出返回类型viod。
Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形式列表匹配。
return语句中止方法的运行并指定要返回的数据。
写不下了,写个记事本吧。
2、不用getter的话是为了不让你从外部通过这个类使用setter来的值(setter、getter对应写和读),当然可以用别的方法用到其值,不过不推荐,会破坏了封装性。
3、返回注释代码的话是一个无限递归报错,jdbcTemplate.queryForInt返回一个count(*)的结果
4、大括号是一个数组例如
Object[] o=new Object[]"","";
String[] str="1","2"; 参考技术B 1.dao是常用于java数据库操作的用于封装数据库操作的那已层,绝大多数都是一个类
2.setter和getter是标准的bean类中的方法,在dao中不需要
3.用了//return getMatchCount(userName, password);会出错,应该会出现指针指向异常错误
4.new Object[]userName,password里的大括号中的userName,password是数组的成员,这是声明并初始化数组的写法 参考技术C 代码不完整,应该要实现接口
public class UserDaoImpl implements UserDao
这样的Dao才是接口。
2、这个是数据访问,不需要get/set对齐。
3、是调用自己了。
4、传递查询的参数,看前面的SQL语句,里面定义了两个参数。
关于Canvas 关于最近工作中常有人问到一些问题
关于 Share evidence
最近很多GR的项目要Archive了,PRC的要另建一个canvas。
之后想把底稿从GR的Canvas share过来,怎么办呢?
很多同事问过我Share evidence的事情。
我之前一直误以为只要engagement Code相通即可。
后来才发现,需要在同一个workspace下即可。
但是我们之前建的canvas没有放到一个Workspace下怎么办呢?
在share evidence 里找不到呀。
收到另一个同事的启发,我们可以使用copy hub 把底稿从这个work space完整复制到那个工作区中去。这样在同一个工作区中就可以share底稿了。
还有同事问,底稿share过来后,archive了会不会断掉link。
会的!
我查看到canvas的说明里看到,但是虽然link 被break了。还是会保留一个副本在你A掉的那个canvas中,不用担心。
2.关于意外收到instruction。最近很诡异的我么的一个项目,收到国外一个项目PT发的instruction,后来经大神帮助查看才发现是由于,之前link时候,同事误将别的PT和我们的canvas建立了link。所以其实一个CT的canvas是可以和多个PTcanvaslink的,所以在接受link的时候,千万注意不要选择了错误的canvaslink,影响了最后和PT之间相应的task完成。
这个解决办法也很简单,联系pt取消掉之前的link,注意此时在pt不会显示你的canvas名,而是他们当初设置的你的CT的名字,你让PT去找你这个canvas取消link是找不到的。。。他们断开之前的连接即可。。。重新send link关联至正确的canvas即可,自动会消除之前PT发来的那些task 和instruction
说到这里,作为CT大家在Group task里完成任务之后,千万注意要点击左上角的Send,PT才能收到相应的文件,不然你的SRM什么的只会安静的躺在的Canvas里,PT没收到你们还会逾期。
3关于PTcanvas 建立和相应的Group task建立和发送,之前写过文章直接上链接吧。
http://mp.weixin.qq.com/s?__biz=MjM5ODUzNjM4Mg==&mid=504483287&idx=1&sn=b9a4d15e8a6e0736a1fc9ce0c57b1a44&mpshare=1&scene=1&srcid=02255TlOXJfy1hGdB6sdKj3h#rd
4关于超大的JE,客户数据库无法导出txt格式,处理办法。我们遇到客户的JE是以XML写死输出另存为excel一种格式的问题。导致导出的excel实际带格式,且超大。纯文本JE其实只会100M左右。即使达到Excel上限100W行。
之前写的使用公司自带的ACL软件处理超大JE
自行下载即可。
http://pan.baidu.com/s/1cBs0RO
但是,主页菌自己工作中遇到客户的输出上文所述非标准excel格式的文件,ACL和access,sql都无法打开,后来解决办法是买了一个付费软件,可以直接将非标准格式的exel转换为纯文本txt格式,再导入acl即可。
因为软件为付费软件,在这里分享有做广告的嫌疑。。。有需要小伙伴可以找我。。就不贴链接了。
excel宏代码什么的我也倾向于分享纯文本的资料。
6关于canvas图标,总会有人问到。。。尤其是highlingts or comments那个。。右下角小黑框总会有人问。但是那个我记忆中是不会影响archive的。因为不确定是否新版本canvas有过更改,所以谨慎一点怕误导大家。但是track changes就是感叹号的文件一定都要把他们都accept掉才行的。不然会影响achrive
7关于ca数,最近出报告,总会需要ca数字,在快速访问工具栏里我们可以添加 calculate(计算的命令),找到计算功能Calculate添加到右侧,就可以使用alt+相应的数字键,在word中可以按住alt键先选中自己要计算的区域,然后再按alt+相应设置的计算的命令的数字键位,就会再word右下角,看到合计数
如主页菌添加为第四个就是ALT+4按键。选中区域,计算结果会显示在左下角。
office2010的word 显示在右下角。
同理通过这个快速启动键可以设置很多方便常用的功能。
另外,安利两个快捷键自动调整行高和列宽
分别是alt o c a 和 alt o r a。。。我经常喜欢用这俩。。因为很好记。。。
8.一个技巧。。http://pan.baidu.com/share/link?shareid=176764177&uk=3171164999
9关于 vlookup的向右拖动,vlookup(对象,位置,column(),false)
使用column函数,这个函数是取得单元格的列坐标。所以呢。我们比如要v到一个区域从2到10,实际我们就可以把column(B1),然后直接向右拖动公式,就可以实现vlookup向右拖动。。
抱歉很久没更新,final实在太忙,太懒。应该还有很多想说得。。一下想不起来了。。。最近主页菌自己也遇到很多事情,感觉自己很颓废。发胖了很多。。。脸上还有一个大大的痘印。。也不知道会不会消。。。。脾气还变得有些暴躁。。。
这里对同事朋友说声抱歉。。主页菌并不是有意要争执或暴躁。只是主页菌有时候比较钻牛角尖,我有个毛病,就是我尝试已经正确的事情。很讨厌被质疑。。当然这也是不对的。因为有时候确实是我的疏忽没发现一些问题。
final大家都加油~
有空我再补充有些之前说过的。今天又写了。是因为还是老有人问。。。。。晚安。。
以上是关于关于UserDaoImpl.java代码中的一些问题:代码粘贴如下,求大神指导。的主要内容,如果未能解决你的问题,请参考以下文章