使用mybatis将对象直接持久化到db

Persist object directly to db using mybatis

我是mybatis新手。之前用的是Hibernate ORMframework.Now想用mybatis开发

下面是我的映射器 class,我可以在其中编写应用程序的实际查询。

public interface UserMapper {
  @Insert("INSERT into user(id,name,address) VALUES(#{uid}, #{uname}, #{uaddress})")
  void insertUser(User user);

    } 

我正在从前端应用程序请求中获取用户信息。

下面是我的控制器::

@RequestMapping(value = "/userdetails", method = RequestMethod.POST, headers = "Accept=application/json")
    public @ResponseBody ResponseCodeModel userInfo(@RequestBody User user)
    {
        session.save(user);//In Hibernate

    }

如果我使用 Hibernate,我可以使用 session.save(userObject);

直接将用户对象保存在数据库中

但是在Mybatis中,我需要在mapper查询中映射所有用户参数。

如果我的 table 有 50 个列,那么我需要在查询中提及所有参数,如下所示::

 public interface UserMapper {
      @Insert("INSERT into user(id,name,address,....50 Coloumn name) VALUES(#{uid}, #{uname}, #{uaddress} ,....50 model attribute name)")
      void insertUser(User user);      
        } 

有没有更简单的方法使用 myBatis 将模型对象持久化到数据库中。

Mybatis 是SQLMapper,不是ORM。那你确实要映射了。

如果您插入 table 中的所有列,那么您可以省略列名并以正确的顺序指定值,这很常见 SQL。