`
leon.s.kennedy
  • 浏览: 110471 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

MyBatis用序列插入对象

 
阅读更多

映射文件:

 

<insert id="insertStudentBySequence" parameterType="Student">
  <selectKey resultType="int" keyProperty="s_id" order="BEFORE">
   select studentPKSequence.nextVal
   from dual
  </selectKey>
  
  insert into student(s_id,s_name,s_age)
  values       (#{s_id},#{s_name},#{s_age})
 </insert>

-----------------------------------------------------------

resultType="int" 返回的是一个int类型

keyProperty 把返回值,赋值给:parameterType中对象的对象的属性,也就是Student类中的s_id属性

order属性,在mybatis-3.1.0要加上该属性,表示先执行此步骤

-----------------------------------------------------------

DAO:

 

public void addStudentBySequence(Student stu) {
  SqlSession sqlSession = null;
  try{
   sqlSession = sf.openSession();
   sqlSession.insert("insertStudentBySequence", stu);
   System.out.println("s_id: "+stu.getS_id());
   sqlSession.commit();//这里一定要提交,不然数据进不去数据库中
  }finally{
   sqlSession.close();
  }
 }

 

----------------------------------------------------

测试:

 @Test
 public void addStudentBySequenceTest(){
  IStudentDAO sDAO = new IStudentDAOIbatisImpl();
  Student student = new Student();
  //student.setS_id(500);
  student.setS_age(18);
  student.setS_name("yyy");
  sDAO.addStudentBySequence(student);
  System.out.println("add ok!");
 }

 

0
0
分享到:
评论

相关推荐

    通过mybatis generator反向工程生成pojo及mapper类 带序列化插件

    通过以上步骤,你已经成功地使用MyBatis Generator进行了反向工程,生成了带有序列化功能的POJO类和Mapper接口。这不仅减少了手动编写代码的工作量,也确保了代码与数据库表的一致性。记得在实际项目中根据需求调整...

    MyBatis Oracle 自增序列的实现方法

    在Oracle中,有两种方式使用序列插入数据: 1. 先查询序列的下一个值,然后在`INSERT`语句中使用这个值。如上面的`&lt;selectKey&gt;`所示,先获取`SEQ_TABLE.NEXTVAL`,然后插入。 2. 直接在`INSERT`语句中使用`sequence....

    oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert

    这种情况下,如何使用MyBatis进行动态SQL的编写以实现批量插入呢?本文将详细介绍一种在Oracle数据库环境下,利用MyBatis动态SQL解决此问题的方法。 首先,我们看到一个关键的MyBatis XML映射文件中的`&lt;insert&gt;`...

    mybatis.plus官方中文文档

    在了解MyBatis-Plus之前,我们先要理解MyBatis,它是一个优秀的持久层框架,提供了灵活的SQL映射和Java对象之间的映射,使得开发者能够更专注于业务逻辑,而不是数据库的底层细节。 MyBatis-Plus(简称MP)是对...

    mybatis数据类型错误及解决方法

    在使用MyBatis框架进行Java开发时,我们经常会遇到数据类型错误的问题,这些错误主要源自于数据库字段类型与Java对象属性类型不匹配、SQL语句中的类型转换不当或MyBatis配置文件中的设置错误。本篇文章将深入探讨...

    Mybatis Genterator自动生成

    Mybatis Generator是一款强大的Java代码生成工具,它能够帮助开发者自动生成Mybatis框架所需的实体类(Entity)、数据访问对象(DAO)、映射器接口(Mapper)以及XML配置文件,极大地提高了开发效率,减轻了手动编写...

    mybatis代码生成工具

    本篇文章将详细探讨“mybatis代码生成工具”,特别是其添加的example对象序列化和批量插入功能。 1. **Mybatis代码生成器** Mybatis代码生成器是Mybatis框架的一个强大辅助工具,它能够根据数据库表自动生成对应...

    Oracle + Mybatis实现批量插入、更新和删除示例代码

    这里,我们先通过Oracle的序列`seq_LA_T_CONTACT_RECORD`获取自增ID,然后通过遍历集合,将每个元素转化为单独的INSERT语句,用UNION ALL连接起来。 2. **利用存储过程**: 另一种方法是编写Oracle的存储过程,...

    mybatis中操作json类型数据(csdn)————程序.pdf

    总结来说,MyBatis通过自定义TypeHandler实现了对MySQL JSON字段的映射,利用Jackson库进行JSON数据的序列化和反序列化,确保Java对象和数据库中的JSON数据能顺利地进行转换和交互。在处理复杂的数据结构时,这样的...

    Mybatis增强工具包(Mybatis plus) v3.5.3.2.zip

    内置了分页插件,可以方便地实现分页查询,支持多种数据库的分页方式,如 MySQL、Oracle 等,使用 `Page` 对象进行分页参数设置和结果接收。 6. **主键生成策略**: 提供了多种主键生成策略,包括 Identity(自动...

    Oracle+Mybatis的foreach insert批量插入报错的快速解决办法

    在尝试批量插入数据时,常见的做法是创建一个包含待插入对象的List,然后通过MyBatis的`&lt;foreach&gt;`标签将这些对象插入到数据库中。例如,以下是一个错误的示例: ```xml &lt;![CDATA[SELECT SEQ_OCL_SUPCITY....

    mybatis 3.4.4 source code

    9. **TypeHandler**:处理Java类型和数据库类型之间的转换,确保数据正确地在数据库和Java对象间进行序列化和反序列化。 10. **配置文件**:`mybatis-config.xml`是MyBatis的全局配置文件,包含了数据源、事务管理...

    MyBatis+Spring整合示例

    同时,为了实现主键自增,我们使用了Oracle数据库的序列(sequence)和触发器(trigger)机制。序列`pda2_user_sequence`用于生成主键值,触发器`id_auto_increment_triger`则在插入新记录时自动填充ID字段。 接着...

    MyBatis 工作原理和详解

    - 插入用户,可以选择返回主键值,如果是自增主键,MyBatis可以自动获取;对于非自增主键,如UUID或Oracle序列,也需要特殊处理。 - 更新用户信息,MyBatis允许开发者根据需要更新特定字段。 - 删除用户,可以通过ID...

    mybatis逆向工程(附源码)

    MyBatis逆向工程是一种强大的工具,它可以帮助开发者自动生成数据访问对象(DAO)和JavaBean类,从而简化了数据库模型层的编码工作。在Java Web开发中,MyBatis作为一个优秀的持久层框架,提供了灵活的SQL映射机制,...

    auto-mybatis-new.zip

    Mybatis-Plus是一款基于Mybatis框架的扩展工具,旨在简化常见的CRUD操作,提供更便捷的数据库表字段映射到Java对象的方式。在"auto-mybatis-new.zip"这个压缩包中,我们很可能是找到了Mybatis-Plus的新版代码或者一...

    尚硅谷Mybatis Plus笔记+源码

    尚硅谷的Mybatis Plus笔记和源码资源,对于学习和理解这个框架的内部实现以及如何在项目中有效使用它,是非常宝贵的资料。 1. **Mybatis Plus概述** Mybatis Plus是对Mybatis的增强工具,它在Mybatis的基础上做了...

    Mybatis-Plus入门第二天讲义1

    在本文中,我们将深入探讨"Mybatis-Plus入门第二天讲义1"所涵盖的知识点,主要涉及ActiveRecord模式、Mybatis-Plus的基本操作以及如何在Java中使用这些概念。 首先,我们来理解什么是ActiveRecord。ActiveRecord是...

    MyBatis 36道面试题和答案.docx

    MyBatis提供了两种分页方式:使用RowBounds对象和使用分页插件。RowBounds可以直接在查询时传入,实现简单的分页。分页插件则是通过拦截SQL语句,重写SQL以实现分页效果。例如,原本的SQL是`SELECT * FROM student`...

Global site tag (gtag.js) - Google Analytics