java insert mysql_insert

### 全字段插入

建议插入全部字段的时候使用这种方法最为简便

~~~

User user = new User();

user.setId(1000);

user.setUserName("测试人员2");

user.setAge(18);

user.setPhone("15115115111");

user.setRoleId(3);

user.setStatus(1);

Integer s = mysqlService.table(UserConfig.class).data(user).insert();

~~~

执行的sql为:

~~~

INSERT INTO tb_user (user_name,age,phone,role_id,status,create_time,update_time)VALUE ('测试人员2','18','15115115111','3','1',1536290767867,1536290767867)

~~~

你会很惊喜的发现 设置的 `id` 被自动忽略了,并且系统自动加上了`create_time` 和 `update_time`。

*****

### 排除字段插入(注:因静态属性特性,此方式弊端过大,切勿使用,待解决)

~~~

User user = new User();

user.setId(1000);

user.setUserName("测试人员2");

user.setAge(18);

user.setPhone("15115115111");

user.setRoleId(3);

user.setStatus(1);

UserConfig userConfig = new UserConfig();

userConfig.setStatus(null);//手动排除status字段

userConfig.setRoleId(null);//手动排除role_id字段

Integer f = mysqlService.table(userConfig).data(user).insert();

~~~

执行的sql为:

~~~

INSERT INTO tb_user (user_name,age,phone,create_time,update_time)VALUE ('测试人员2','18','15115115111',1536292513728,1536292513728)

~~~

将配置类的字段置为null,那么数据与字段无法产生对应关系,也就排除了该字段。

当然 如果你觉得全字段插入不方便,排除字段插入又麻烦,或者不希望系统自动处理id与时间字段,那么可以考虑使用以下方式

*****

### 指定字段插入

~~~

HashMap map = new HashMap();

map.put(UserConfig.getId(),30);

map.put(UserConfig.getUserName(),"map测试");

map.put(UserConfig.getCreateTime(),System.currentTimeMillis());

Integer d = mysqlService.name(UserConfig.getTb()).data(map).insert();

~~~

执行的sql为:

~~~

INSERT INTO tb_user (id,user_name,create_time) VALUE ('30','map测试','1536321015951',)

~~~

这种方式不会自动处理任何数据。

*****

### 获取插入的自增id

```

Long d = mysqlService.getLastId();

```

*****

### 插入数据并返回自增id(insertGetId方法可以完全代替insert方法)

```

Long id = mysqlService.table(UserConfig.class).data(user).insertGetId();

System.out.println("返回的id是:"+id);

```

> 请知晓约定:字段名称必须是id, 自增主键。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值