2017-03-21 2 views
0

Ich bin neu in mybatis. Zuvor habe ich Hibernate ORM Framework verwendet. Nun möchte ich mybatis für die Entwicklung verwenden.Persist Objekt direkt auf DB mit mybatis

Unten ist meine Mapper-Klasse, wo ich die eigentliche Abfrage für die Anwendung schreiben kann.

Ich bekomme die Benutzerinformationen in Anfrage von Front-End-Anwendung.

Unten ist mein Controller-::

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

    } 

Wenn ich Hibernate verwende ich das Benutzerobjekt in db mit session.save (Benutzerobjekt) direkt bestehen kann;

Aber in Mybatis muss ich alle Benutzerparameter in Mapper-Abfrage zuordnen.

Wenn meine Tabelle 50 coloumn mit dann brauche ich wie unten alle Parameter in Abfrage zu erwähnen ::

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);  
     } 

Gibt es einen einfacheren Weg, das Modellobjekt in DB mit Mybatis bestehen bleiben.

Antwort

1

Mybatis ist SQL Mapper, nicht ORM. dann musst du tatsächlich mappen.

Wenn Sie in alle Spalten in der Tabelle einfügen, dann können Sie den Spaltennamen weglassen und Werte in der richtigen Reihenfolge angeben, das ist gängige SQL.