博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis 插入数据至mysql并返回主键
阅读量:6092 次
发布时间:2019-06-20

本文共 1743 字,大约阅读时间需要 5 分钟。

hot3.png

功能说明:mysql 主键id自增,并在返回对象中插入对应字段值


表设计如下:

DROP TABLE IF EXISTS `api_quartz`;CREATE TABLE `api_quartz` (  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',  `job_class_name` varchar(100) DEFAULT NULL COMMENT '需要执行定时任务的类的全路径(包名和类名)',  `job_group_name` varchar(40) DEFAULT NULL COMMENT 'job的分组名',  `job_cron` varchar(40) DEFAULT NULL COMMENT '定时任务的时间间隔,可参考http://cron.qqe2.com/',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

mybatis的xml如下:

insert into api_quartz (job_class_name, job_group_name, job_name,job_cron) values (#{jobClassName,jdbcType=VARCHAR}, #{jobGroupName,jdbcType=VARCHAR}, #{jobName,jdbcType=VARCHAR},#{jobCron,jdbcType=VARCHAR})

对应接口如下:

/** * 返回插入数据的主键id值 * @param apiQuartz * @return */int insertAndGetId(ApiQuartz apiQuartz);

该接口的返回值为1或0,分别代表插入成功或失败(注意:不代表返回的主键id值)。这样 apiQuartz 对象中,原先apiQuartz.getIdnull , 现在,将插入数据库的主键id值赋给它,eg:apiQuartz.getId7

实体类如下:

import lombok.Data;import java.io.Serializable;/** * 实体类 对应 api_quartz 表,定时任务配置 */@Datapublic class ApiQuartz implements Serializable {    private static final long serialVersionUID = 7485426523275431367L;    /**     * 主键     */    private Long id;    /**     * 需要执行定时任务的类的全路径(包名和类名)     */    private String jobClassName;    /**     * 'job的分组名'     */    private String jobGroupName;    /**     * '定时任务的时间间隔,可参考http://blog.csdn.net/yansong_8686/article/details/46991189'     */    private String jobCron;}

解释:

  • useGeneratedKeys="true" 表示给主键设置自增长

  • keyProperty="userId" 表示将自增长后的Id赋值给实体类中的userId字段。

  • parameterType="com.chenzhou.mybatis.User" 这个属性指向传递的参数实体类

  • 这里提醒下,<insert></insert> 中没有resultType属性,不要乱加。

  • 实体类中uerId 要有getter() and setter(); 方法 (也可以采用lombok插件完成)

参考链接:

转载于:https://my.oschina.net/u/3136014/blog/1625943

你可能感兴趣的文章
Python urllib的urlretrieve()函数解析
查看>>
(FortiGate)飞塔防火墙BYOD网络安全解决方案
查看>>
Mysql 常用函数的 总结 (转)
查看>>
[李景山php]每天TP5-20170116|thinkphp5-Url.php-1
查看>>
jdk与jre的区别
查看>>
弹出菜单
查看>>
高德地图多marker聚合API
查看>>
IPv4 向 IPv6 过渡安全问题不可小觑
查看>>
Linux运维实战之Apache服务器的高级配置(虚拟主机、status)
查看>>
DHCP overview
查看>>
我的友情链接
查看>>
linux 系统无法启动的基本解决方法
查看>>
阿里云产品
查看>>
ESXi磁盘块大小设立
查看>>
Java 初始化与清理
查看>>
C#计算数组的算术平均数、几何平均数、调和平均数、平方平均数和中位数
查看>>
JQuery Select控件操作汇总
查看>>
E媒体|APP必死?!——阿里百川项目总监承渊有话说
查看>>
Android 游戏之三人对战源码
查看>>
Lua与C++交互机制
查看>>