0 0

mybatis3.2自动增长插入String id5

mybatis3.2怎么配置xml。插入自动增长的id 。id类型为String?

问题补充: <insert id="save" parameterType="student" useGeneratedKeys="true" keyProperty="id"> 
        insert into  student(studentName,age,classes,school) values(#{studentName},#{age},#{classes},#{school})
    </insert>
这样配置了添加,会报无法插入null。。

问题补充:oracle数据库
2013年8月22日 14:34

4个答案 按时间排序 按投票排序

0 0

一下环境均在oracle中:
1.如果想正常写sql不写ID 有可以在数据库表中将ID设置为默认sys_guid().
2.如果ID为自增可以建序列,对于自增主键的表,插入可以不配置插入的主键列。否则是必须的
sql写法如下:
<insert id="insertUser" parameterClass="ibatis.User">
      <selectKey resultType="long" keyProperty="id">
        select SEQ_TEST.NEXTVAL from dual
      </selectKey>         
           insert into user
          (name,password)
          values
          (#name#,#password#)
</insert>

2013年8月24日 18:40
0 0

ORACLE哪有自增长的字段,是要显式调用序列生成的,如select seq_name.NEXTVAL from dual,如何在sqlMap中写,查下mybatis的指南就清楚了,可以参考如下代码
(注意这个是ibatis的,要改成mybatis的语法)
<insert id="insertUser" parameterClass="ibatis.User">
          <selectKey resultClass="long" keyProperty="id">
              select SEQ_USER_ID.nextval as id from dual
          </selectKey>
           insert into user
          (id,name,password)
          values
          (#id#,#name#,#password#)
      </insert>

2013年8月23日 13:29
0 0

我用mysql+mybatis是可以的:

`id` int(11) NOT NULL AUTO_INCREMENT,

你检查一下是不是表的其他字段有非空限制(NOT NULL)。

2013年8月22日 15:58
0 0

数据库端 ID 设置自增的话

SQL 正常写就行了
不用写ID
insert into table (name) values("aaa")

2013年8月22日 15:01

相关推荐

    mybatis-plus_batch_insert:mybatis_plus添加批量插入

    MyBatis-Plus 是 MyBatis 的一个扩展,它提供了许多便利的功能,如自动化 CRUD 操作,简化 SQL 编写,以及对复杂查询的支持。在处理大量数据时,批量插入(Batch Insert)是一种非常有效的方法,可以显著提高数据库...

    MyBatis的增删改查用不同的几种方式

    自MyBatis 3.2版本开始,除了XML映射,还可以使用注解来进行CRUD。在接口方法上直接添加注解`@Insert`, `@Update`, `@Delete`, `@Select`,并将SQL语句写在注解中。例如,对于上述`User`表的插入操作,可以这样写:...

    springBoot整合mybatis plus

    - **主键自增**:对于主键类型为整型的字段,可以设置`@TableId(value = "id", type = IdType.AUTO)`,让其自动增长。 - **一键生成代码**:MyBatis Plus提供了代码生成器,可以一键生成实体类、Mapper接口、Mapper ...

    MyBatis学习之三动态SQL语句[借鉴].pdf

    `selectKey`标签主要用于在插入数据时自动生成主键,尤其是在Oracle中使用序列或MySQL中使用函数生成ID的情况。在MySQL中,可以使用类似`nextval('student')`这样的函数来获取下一个序列值。以下是一个使用`select...

    [新手-图文]整合ssm框架-从mybatis到spring-mybatis再到ssm-sping-mybatis-spingmvc

    ##### 3.2 修改mybatis-config.xml 移除不必要的配置,只保留必要的部分。 **示例代码**: ```xml &lt;!-- mybatis-config.xml --&gt; ``` #### 四、测试Spring + MyBatis 创建测试类,使用JUnit进行功能验证...

    CoreFS平台持久层框架使用说明

    - **批量操作**:批量插入、更新或删除记录的方法。 #### 五、总结 CoreFS平台持久层框架CoreORM通过提供强大的对象关系映射功能,极大地简化了Java应用程序与数据库之间的交互过程。无论是初学者还是经验丰富的...

    SPRING面试宝典

    AOP(Aspect Oriented Programming)模块是Spring框架中的一个重要组成部分,它提供了一种在运行时动态插入代码的能力,可以用来实现诸如日志记录、性能监控等功能,而不必修改业务逻辑代码本身。 **1.8 解释JDBC...

    Java工程师面试宝典

    - **定义**:攻击者利用不当的输入验证,在SQL查询中插入恶意SQL语句。 - **防御措施**:使用参数化查询或预编译语句。 ##### 8.4 SQL Select语句完整的执行顺序 - **解析SQL语句**:语法分析。 - **优化器选择...

Global site tag (gtag.js) - Google Analytics