mybatis 插入数据至mysql并返回主键
2018-02-28 00:00
651 查看
摘要: mysql 主键id自增,并在返回对象中插入对应字段值
功能说明:mysql 主键id自增,并在返回对象中插入对应字段值
该接口的返回值为1或0,分别代表插入成功或失败(注意:不代表返回的主键id值)。这样
keyProperty="userId" 表示将自增长后的Id赋值给实体类中的userId字段。
parameterType="com.chenzhou.mybatis.User" 这个属性指向传递的参数实体类
这里提醒下,<insert></insert> 中没有resultType属性,不要乱加。
实体类中uerId 要有getter() and setter(); 方法 (也可以采用lombok插件完成)
功能说明: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 id="insertAndGetId" parameterType="ApiQuartz" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> 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}) </insert>
对应接口如下:
/** * 返回插入数据的主键id值 * @param apiQuartz * @return */ int insertAndGetId(ApiQuartz apiQuartz);
该接口的返回值为1或0,分别代表插入成功或失败(注意:不代表返回的主键id值)。这样
apiQuartz对象中,原先
apiQuartz.getId是
null, 现在,将插入数据库的主键id值赋给它,eg:
apiQuartz.getId是
7
实体类如下:
import lombok.Data; import java.io.Serializable; /** * 实体类 对应 api_quartz 表,定时任务配置 */ @Data public 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插件完成)
参考链接:
Java MyBatis 插入数据库返回主键 - 星云博客园 - 博客园相关文章推荐
- mybatis mysql 插入对象返回数据主键id
- Mybatis+MySql 插入数据后返回自增主键值
- mysql+mybatis插入一条数据后返回主键ID
- MyBatis与Oracle,MySql,SqlServer插入数据返回主键方式
- mybatis+mysql返回插入数据主键
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- mybatis与mysql插入数据返回主键
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- 【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)
- Mybatis+MySQL插入数据后返回主键
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- MyBatis插入数据返回主键
- Mybatis mybatis插入数据返回主键
- MyBatis+MySQL 返回插入的主键ID
- MyBatis+MySQL 返回插入的主键ID
- Mybatis中,当插入数据后,返回最新主键id的几种方法,及具体用法
- MyBatis在MySql中增加数据后返回主键
- MyBatis+MySQL 返回插入的主键ID
- mybatis 怎样在insert数据之后返回主键id (MySQL,Oracle数据库)
- 用mybatis实现返回刚插入表数据记录的主键值id