Mybatis主键id回显

使用<insert 中的useGeneratedKeys 和 keyProperty 两个属性

1.在Mybatis Mapper文件中添加属性 “useGeneratedKeys”和“keyProperty”,其中 keyProperty 是 Java 对象的属性名,而不是表格的字段名。

<insert id="insert" parameterType="Spares"     
        useGeneratedKeys="true" keyProperty="id">    
        insert into system(name) values(#{name})    
</insert> 

2.Mybatis 执行完插入语句后,自动将自增长值赋值给对象 systemBean 的属性id。因此,可通过 systemBean 对应的 getter 方法获取!

int count = systemService.insert(systemBean);    
        
int id = systemBean.getId(); //获取到的即为新插入记录的ID 

【注意事项】

1.Mybatis Mapper 文件中,“useGeneratedKeys” 和 “keyProperty” 必须添加,而且 keyProperty 一定得和 java 对象的属性名称一直,而不是表格的字段名。
2. java Dao中的 Insert 方法,传递的参数必须为 java 对象,也就是 Bean,而不能是某个参数。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
如果你在使用MyBatis查询DATE类型的数据时,回显成了时间戳,可以尝试在MyBatis配置文件中修改对应的类型处理器。 在MyBatis中,类型处理器(TypeHandler)是用来处理Java类型和JDBC类型之间的转换的。对于DATE类型的数据,默认情况下,MyBatis会使用Java的java.util.Date类型来映射,而JDBC中的Date类型对应的是SQL的DATE类型,这两者之间的转换需要使用类型处理器来实现。 如果你想要将DATE类型的数据回显成Java的Date类型,可以在MyBatis配置文件中添加如下的配置: ``` <typeHandlers> <typeHandler handler="org.apache.ibatis.type.DateTypeHandler" jdbcType="DATE" /> </typeHandlers> ``` 这样,MyBatis就会使用org.apache.ibatis.type.DateTypeHandler类型处理器来处理Java的Date类型和JDBC的DATE类型之间的转换。 如果你想要将DATE类型的数据回显成Java的字符串类型,可以在MyBatis配置文件中添加如下的配置: ``` <typeHandlers> <typeHandler handler="org.apache.ibatis.type.DateTypeHandler" jdbcType="DATE"> <property name="javaType" value="java.lang.String" /> <property name="jdbcType" value="DATE" /> </typeHandler> </typeHandlers> ``` 这样,MyBatis就会使用org.apache.ibatis.type.DateTypeHandler类型处理器将DATE类型的数据转换成Java的字符串类型。需要注意的是,这里的javaType属性和jdbcType属性都需要设置,否则可能会出现类型转换异常的问题。 希望这些信息对你有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙嵓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值