我是mybatis的新手。以前我使用过Hibernate ORM框架。现在我想用mybatis进行开发。
下面是我的mapper类,我可以在其中编写应用程序的实际查询。
public interface UserMapper {
@Insert("INSERT into user(id,name,address) VALUES(#{uid}, #{uname}, #{uaddress})")
void insertUser(User user);
}
我从前端应用程序请求获取用户信息。
以下是我的Controller ::
@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)直接在db中保存用户对象;
但在Mybatis中,我需要在mapper查询中映射所有用户参数。
如果我的表有50个coloumn,那么我需要提到查询中的所有参数,如下面的::
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在数据库中保留模型对象。
答案 0 :(得分:1)
Mybatis是SQL Mapper,而不是ORM。那你确实要映射。
如果插入表中的所有列,则可以省略列名并按正确顺序指定值,这是常见的SQL。