Mybatis/Ibatis,数据库操作的返回值
时间:2021-07-01 10:21:17
帮助过:1人阅读
[html] view plain
copy
- <typeAlias alias="UnlockTagInfo" type="com.desktop.common.bean.UnlockTagInfo" />
- <resultMap class="UnlockTagInfo" id="UnlockTagInfoResult">
- <result column="id" property="id" jdbcType="INTEGER" />
- <result column="name" property="name" jdbcType="VARCHAR" />
- <result column="description" property="description" jdbcType="VARCHAR" />
- <result column="priority" property="priority" jdbcType="INTEGER" />
- </resultMap>
- <insert id="insertUnlockTagInfo" parameterClass="map">
- <selectKey resultClass="int" keyProperty="id">
- select
- nextval(‘desktop_unlock_tag_id_seq‘) as id
- </selectKey>
- insert into
- desktop_unlock_tag(id,name,description,priority)
- values(#id:INTEGER#,#name:VARCHAR#,#description:VARCHAR#,#priority:INTEGER#)
- </insert>
- <update id="updateUnlockTagInfo" parameterClass="map">
- update
- desktop_unlock_tag
- set modify_time=now(),priority=#priority:INTEGER#,
- name=#name:VARCHAR#,description=#description:VARCHAR#
- where
- id=#id:INTEGER#
- </update>
- <delete id="deleteUnlockTagInfo" parameterClass="int">
- delete from
- desktop_unlock_tag
- where id=#value:INTEGER#
- </delete>
- <select id="countUnlockTagInfo" resultClass="int">
- select count(*)
- from
- desktop_unlock_tag
- </select>
- <sql id="selectUnlockTagInfo">
- select
- id,name,description,priority
- from
- desktop_unlock_tag
- </sql>
- <select id="findUnlockTagInfoById" parameterClass="int"
- resultMap="UnlockTagInfoResult">
- <include refid="selectUnlockTagInfo" />
- where id=#id:INTEGER#
- </select>
- <select id="listUnlockTagInfo" parameterClass="map"
- resultMap="UnlockTagInfoResult">
- <include refid="selectUnlockTagInfo" />
- order by
- modify_time desc limit #size:INTEGER#
- offset #start:INTEGER#
- </select>
我的DAO源码如下:
[java] view plain
copy
- public class UnlockTagDaoImpl extends SqlMapClientDaoSupport implements
- UnlockTagDao {
- @Override
- public Integer addItem(String name, String desc, Integer priority) {
- SqlMapClientTemplate template = this.getSqlMapClientTemplate();
- Map<String, Object> args = new HashMap<String, Object>();
- 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<String, Object> args = new HashMap<String, Object>();
- 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<UnlockTagInfo> listAll(Integer nStart, Integer nSize,
- boolean bCountTotal) {
- SqlMapClientTemplate template = this.getSqlMapClientTemplate();
- PagedList<UnlockTagInfo> result = new PagedList<UnlockTagInfo>();
- if (bCountTotal) {
- int total = (Integer) template
- .queryForObject("DesktopCommon.countUnlockTagInfo");
- result.setTotal(total);
- }
- Map<String, Integer> args = new HashMap<String, Integer>();
- args.put("start", nStart);
- args.put("size", nSize);
- @SuppressWarnings("unchecked")
- List<UnlockTagInfo> items = template.queryForList(
- "DesktopCommon.listUnlockTagInfo", args);
- result.setData(items);
- return result;
- }
- }
关于ibatis的接口,参见其源码(com\ibatis\sqlmap\client\SqlMapExecutor.java):
[java] view plain
copy
- package com.ibatis.sqlmap.client;
-
- import com.ibatis.common.util.PaginatedList;
- import com.ibatis.sqlmap.client.event.RowHandler;
- import com.ibatis.sqlmap.engine.execution.BatchException;
-
- import java.sql.SQLException;
- import java.util.List;
- import java.util.Map;
-
- public interface SqlMapExecutor {
-
-
- Object insert(String id, Object parameterObject) throws SQLException;
-
-
- Object insert(String id) throws SQLException;
-
-
- int update(String id, Object parameterObject) throws SQLException;
-
-
- int update(String id) throws SQLException;
-
-
- int delete(String id, Object parameterObject) throws SQLException;
-
-
- int delete(String id) throws SQLException;
-
-
- Object queryForObject(String id, Object parameterObject) throws SQLException;
-
-
- Object queryForObject(String id) throws SQLException;
-
-
- Object queryForObject(String id, Object parameterObject, Object resultObject) throws SQLException;
-
-
- List queryForList(String id, Object parameterObject) throws SQLException;
-
-
- List queryForList(String id) throws SQLException;
-
-
- List queryForList(String id, Object parameterObject, int skip, int max) throws SQLException;
-
-
- List queryForList(String id, int skip, int max) throws SQLException;
-
-
- void queryWithRowHandler(String id, Object parameterObject, RowHandler rowHandler) throws SQLException;
-
-
- void queryWithRowHandler(String id, RowHandler rowHandler) throws SQLException;
-
-
- PaginatedList queryForPaginatedList(String id, Object parameterObject, int pageSize) throws SQLException;
-
-
- PaginatedList queryForPaginatedList(String id, int pageSize) throws SQLException;
-
-
- Map queryForMap(String id, Object parameterObject, String keyProp) throws SQLException;
-
-