存储过程的使用总结
来源:互联网 发布:约束最优化问题求解 编辑:程序博客网 时间:2024/05/20 21:19
一、存储过程的使用:
1. 给参数赋值就可以了,一定要注意 #后的属性和赋值的属性保持:
<insert id="insert" statementType="CALLABLE" parameterType="com.chinanetcenter.service.itop.mybatis.entry.Employee" >
<![CDATA[
{call idc_oemp.prws_employee_add(
#{code,mode=IN,jdbcType=VARCHAR},
#{name,mode=IN,jdbcType=VARCHAR},
#{sex,mode=IN,jdbcType=VARCHAR},
#{status,mode=IN,jdbcType=VARCHAR},
#{post,mode=IN,jdbcType=VARCHAR},
#{birthdate,mode=IN,jdbcType=TIMESTAMP},
#{idcardno,mode=IN,jdbcType=VARCHAR},
#{path,mode=IN,jdbcType=VARCHAR},
#{phone,mode=IN,jdbcType=VARCHAR},
#{qq,mode=IN,jdbcType=VARCHAR},
#{wechataccount,mode=IN,jdbcType=VARCHAR},
#{email,mode=IN,jdbcType=VARCHAR},
#{departmentid,mode=IN,jdbcType=INTEGER},
#{virtualteamid,mode=IN,jdbcType=VARCHAR},
#{createtime,mode=IN,jdbcType=TIMESTAMP},
#{loginname,mode=IN,jdbcType=VARCHAR},
#{password,mode=IN,jdbcType=VARCHAR},
#{returnCode,mode=OUT,jdbcType=INTEGER},
#{returnMsg,mode=OUT,jdbcType=VARCHAR}
)}
]]>
</insert>
2.实体类的属性一定要跟存储过程输出的字段一样,用于接收处理结果。
3. 这个类的属性可以映射到另外一个表的字段。这个过程不需要我处理。
4. 输入参数的时候一定要考虑为空的情况。
二、 存储过程的传参方式有两种:Map和实体类。
1. Map:参数比较少,且参数不属于类的属性;
public PageInfo<Employee> selectByTeamIDDepartId(int teamid_departid, int flag, int pageNum, int pageSize){
Map param = new HashMap();
param.put("teamid_departid", teamid_departid);
param.put("flag", flag);
param.put("pageNum", pageNum);
param.put("pageSize", pageSize);
List<Employee> list = employeeMapper.selectByTeamIDDepartId(param);
。。。
return page;
}
2. 实体类:参数比较多,且参数属于类的属性。
public void updateById(Employee record, int id){
record.setId(id);
employeeMapper.updateByPrimaryKey(record);
}
三、 操作数据库的时候报错:
自己先把参数输入测试一下是否是存储过程的问题,特别注意空字符串' '改成null,特别注意每个字段的输入类型。
CALL idc_oemp.prws_employee_add('20161207143588','son','male', 'internship', '运维', '2016-11-20', '454480003388', 'F:\\test\\tt', '13821322488', '1503780117', 'lews1102', '4284425@qq.com', 12, ' ', '2016-12-05 11:38:19', 'gpssd888', 'wangsu@123', @returnCode, @returnMsg);
要求输入: varchar(1000) 没数据时 为 null,不能为' ' 。报一些奇怪的错,可能是参数的问题。
- 存储过程的使用总结
- 存储过程的入门使用的总结
- ASP使用存储过程的总结
- Mysql存储过程使用总结
- 关于使用存储过程的好处的几点总结
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用:
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- 存储过程的使用
- WebTours示例程序的订票流程-脚本
- Android调试笔记——Installation error
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- HTML中value和name属性的作用
- CentOS 7.2 安装Zabbix3.X
- 存储过程的使用总结
- Bootstrap学习总结笔记(14)-- 基本组件之面板
- Cocos Creator Box2d 学习笔记-01
- Android XML文件解析之pull解析器
- python 2.7 : 模块
- C#开发数据库第三章课后题5
- 【OpenCV入门教程之九】 非线性滤波专场:中值滤波、双边滤波
- .9图讲解
- python 控制excel