Mybatis/Ibatis,数据库操作的返回值

阅读更多

insert,返回值是:新插入行的主键(primary key);需要包含语句,才会返回主键,否则返回值为null。
update/delete,返回值是:更新或删除的行数;无需指明resultClass;但如果有约束异常而删除失败,只能去捕捉异常。
queryForObject,返回的是:一个实例对象或null;需要包含语句,并且指明resultMap;
我的配置文件如下(desktop_common_sqlMap.xml):
[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
 
     
     
     
     
 
 
     
        select 
        nextval('desktop_unlock_tag_id_seq') as id 
   
 
    insert into 
    desktop_unlock_tag(id,name,description,priority) 
    values(#id:INTEGER#,#name:VARCHAR#,#description:VARCHAR#,#priority:INTEGER#) 
 
 
    update 
    desktop_unlock_tag 
    set modify_time=now(),priority=#priority:INTEGER#, 
    name=#name:VARCHAR#,description=#description:VARCHAR# 
    where 
    id=#id:INTEGER# 
 
 
    delete from 
    desktop_unlock_tag 
    where id=#value:INTEGER# 
 
 
 
    select 
    id,name,description,priority 
    from 
    desktop_unlock_tag 
 
 
 
我的DAO源码如下:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
public class UnlockTagDaoImpl extends SqlMapClientDaoSupport implements 
        UnlockTagDao { 
    @Override 
    public Integer addItem(String name, String desc, Integer priority) { 
        SqlMapClientTemplate template = this.getSqlMapClientTemplate(); 
        Map args = new HashMap(); 
        args.put("name", name); 
        args.put("description", desc); 
        args.put("priority", priority); 
        Object key = template.insert("DesktopCommon.insertUnlockTagInfo", args); 
        return (Integer) key; 
    } 
 
    @Override 
    public boolean updateItem(Integer id, String name, String description, 
            Integer priority) { 
        SqlMapClientTemplate template = this.getSqlMapClientTemplate(); 
        Map args = new HashMap(); 
        args.put("id", id); 
        args.put("name", name); 
        args.put("description", description); 
        args.put("priority", priority); 
        try { 
            int c = template.update("DesktopCommon.updateUnlockTagInfo", args); 
            if (c > 0) { 
                return true; 
            } 
            return false; 
        } catch (Exception e) { 
            return false; 
        } 
    } 
 
    @Override 
    public boolean deleteItem(Integer id) { 
        SqlMapClientTemplate template = this.getSqlMapClientTemplate(); 
        try { 
            int c = template.delete("DesktopCommon.deleteUnlockTagInfo", id); 
            if (c > 0) { 
                return true; 
            } 
            return false; 
        } catch (Exception e) { 
            return false; 
        } 
    } 
 
    @Override 
    public UnlockTagInfo findItemById(Integer id) { 
        SqlMapClientTemplate template = this.getSqlMapClientTemplate(); 
        UnlockTagInfo item = (UnlockTagInfo) template.queryForObject( 
                "DesktopCommon.findUnlockTagInfoById", id); 
        return item; 
    } 
 
    @Override 
    public PagedList listAll(Integer nStart, Integer nSize, 
            boolean bCountTotal) { 
        SqlMapClientTemplate template = this.getSqlMapClientTemplate(); 
        PagedList result = new PagedList(); 
        if (bCountTotal) { 
            int total = (Integer) template 
                    .queryForObject("DesktopCommon.countUnlockTagInfo"); 
            result.setTotal(total); 
        } 
        Map args = new HashMap(); 
        args.put("start", nStart); 
        args.put("size", nSize); 
        @SuppressWarnings("unchecked") 
        List items = template.queryForList( 
                "DesktopCommon.listUnlockTagInfo", args); 
        result.setData(items); 
        return result; 
    } 

你可能感兴趣的:(dao,java,sql)