千家信息网

Mybatis 项目开发实际常用SQL笔记总结

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,parameterType 和 resultTypeparameterType:单个参数用String,多个参数用mapresultType:可以是 Integer、String、Object
千家信息网最后更新 2025年11月13日Mybatis 项目开发实际常用SQL笔记总结
  • parameterType 和 resultType

parameterType:单个参数用String,多个参数用map

resultType:可以是 Integer、String、Object


                     
  • 对应的Java实现接口解析

我们可以基于org.mybatis.spring.SqlSessionTemplate提供的模板类来进行数据库操作的具体实现,例如以下是经过对模板的再封装进行实现的,封装类的过程做了日志记录操作等,在此具体不在细说:


        @Override        public int countGroupMasterByUid(String uid)         {                return getSqlSessionTemplate().selectOne("countGroupMasterByUid", uid);        }                @Override        public int countGroupMaster(String uid, String groupId)         {                Map map = new HashMap();                map.put("uid", uid);                map.put("groupId", groupId);                return getSqlSessionTemplate().selectOne("countGroupMaster", map);        }        @Override        public GetGroupMember queryMasterByGroupId(String groupId)         {                return getSqlSessionTemplate().selectOne("queryMasterByGroupId", groupId);        }        @Override        public String queryMasterIdByUid(String uid)         {                return getSqlSessionTemplate().selectOne("queryMasterIdByUid", uid);        }        @Override        public List queryMasterList(int index, int pageSize)         {                Map map = new HashMap();                map.put("index", (index-1)*pageSize);                map.put("pageSize", pageSize);                return getSqlSessionTemplate().selectList("queryMasterList",map);        }

亦可以参考:http://lydia-fly.iteye.com/blog/2153102


  • 动态SQL参考:http://www.cnblogs.com/ywqbj/p/5707652.html


  • selectKey的使用





注意:插入的时候id可以省略,但masterId必须对应的上AddMaster这个JavaBean的masterId属性。

表结构如下:

MySQL [mcloud]> desc t_mc_store_group_master;

+-------------+--------------+------+-----+-------------------+-----------------------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+--------------+------+-----+-------------------+-----------------------------+

| id | bigint(16) | NO | PRI | NULL | auto_increment |

| u_id | varchar(128) | NO | MUL | NULL | |

| u_name | varchar(128) | YES | | NULL | |

| dept_name | varchar(128) | YES | | NULL | |

| create_time | timestamp | YES | | CURRENT_TIMESTAMP | |

| update_time | timestamp | YES | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

+-------------+--------------+------+-----+-------------------+-----------------------------+

    INSERT INTO t_mc_store_group_master (id,u_id,u_name,dept_name)         VALUES (#{masterId},#{uid},#{uName},#{deptName})               SELECT LAST_INSERT_ID() AS masterId        
  • 组合查询设置不存在的列


 
  • 原生SQL语句

数据 数据库 生成 参数 模板 参考 封装 不同 动态 单个 多个 属性 接口 方式 日志 时候 生产商 结构 语句 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云服务器内网和外网 网络技术成果转让是什么意思 服务器在国外的网站是外网吗 属于数据库技术研究领域的 网络模式和网络安全模式 食药局网络安全防护措施 网络技术对组织形式的影响 浙江省软件开发服务 软件开发专业就业能力提升的论文 徐州微网网络技术有限公司 怎么破解数据库视频 我的世界服务器管理规则 商品贸易数据库 招聘软件开发人员怎么填写 数据访问技术数据库实验 西城区智能化网络技术服务系统 dbv导入数据库 网络安全证书已过期什么意思 自己搭建的数据库怎么让别人用 深圳字节跳动软件开发组地址 国学宝典数据库 试用 2022 泰州工业网络技术是什么 数据库查询前百分之 计算机网络安全向主要基于 软件开发专业就业能力提升的论文 常熟管理软件开发记录 软件开发设计是干什么的 nexis数据库如何注册 创乐网络技术 数据库中没有查询到该目录的信息
0