今天看到项目中的dao中的insert方法。
public int insertMessage(Message message) {
this.getSqlMapClientTemplate().insert("insertMessage", message);
return Constants.CODE_DAO_SUCCESS;
}
当然在service中进行了如果异常情况的一个处理,会改变返回的值(如果失败)。当然了这样做也还好,就是说如果失败了,会把在dao中直接写的正确的返回值给重新赋值。
this.getSqlMapClientTemplate().insert(....); 该方法的返回值是object如果在Ibatis的配置文件中没有特别的配置的话,
这里你直接打印的话是返回null的。
当然我们可以通过配置selectKey来让他有返回值,通过这个来判断是否正确进行插入了。
<insert id="insertMsg" parameterClass="cn.com.........">
<!--下面的其实就是我们的返回值,
keyProperty是insert表中的一个列值,
当然可以是其他的值,例如select 序列.nextval from dual 作为Id等等,
还有 select dbms_random.string('A',20) from dual; 可以直接从oracle的库中获取随机值来作为某些键值等
-->
<selectKey resultClass="java.util.Date" keyProperty="createTime" >
select sysdate from dual
</selectKey>
<!--下面是正常的插入语句-->
insert into 表名().......
</insert>
如上的配置,如果进行结果打印的话,就可以直接打印出一个日期了。当然也可以根据此进行判断。