Mybatis简单的增删改查

添加一个用户:

User user2 = new User();
user2.setName("王二");
user2.setAddress("中国");
user2.setBalance(1000);
user2.setSex("");
int i = session.insert("test.add", user2);
session.commit();
session.close();

 

问题1:在添加一个用户的之后,如果id是用自动递增或者UUID的话,添加一条记录订单的时候通过user.getId()无法获得这个用户的id,只有配置一下信息,才能获得这个id

uuid是先 生成主键再生成订单   自动递增是先生成订单,再生成id

<insert id="add" parameterType="cn.hd.pojo.User">
 
<selectKey keyColumn="id" keyProperty="id" resultType="int" order="AFTER">
     
SELECT LAST_INSERT_ID()
  </selectKey>
   
INSERT into user(name,address,sex,balance) values (#{name},#{address},#{sex},#{balance})
</insert>

keyColumn:是数据库表的id,keyProperty是对应实体类的属性。

order有两个属性,一个AFTER,一个是BEFOREAFTER是先生成订单再生成主键(自动递增)BEFORE是先生成主键再生成订单(uuid)

resultType:是返回值类型,只有两个选择(int/String),因为我们用它的时候只能是自然主键,而自然主键就只有两种,一种是UUID一种是自动递增,自动递增对应的是int,uuid对应的是String

查询语法:select LAST_INSERT_ID() 适用于递增

Select uuid() 适用于UUID

通过id删除用户:

int i = session.delete("test.delete",3);
System.out.println(i);
session.commit();

 

通过id修改用户:

User user2 = new User();
user2.setName("张飞");
user2.setId(8);
user2.setAddress("中国");
user2.setBalance(1000);
user2.setSex("");
int i = session.update("test.update", user2);


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值