Mybatisの基本(9)アノテーションプログラミング

Mybatisの基本(9)アノテーションの開発

public interface UserMapper{
    
    
    // 在不使用注解之前的方法是:写一个mapper配置文件,写对应的sql语句。在使用注解后直接在注解里写sql语句即可
    @Select("select * from user")
    <List> getAllUser();
}
  1. アノテーションを使用しない前の方法は、マッパー構成ファイルを作成し、対応するSQLステートメントを作成することです。アノテーションを使用した後、SQLステートメントをアノテーションに直接書き込むことができます
  2. マッパーマッピングファイルがconfにバインドされてから、インターフェイスがマッパーマッピングファイルにバインドされていることがわかります。これで、インターフェイスをconfファイルに直接バインドできます。

Mybatisは、構成ファイル方式を使用するのが最適です。注釈フォームは、比較的単純なSQLステートメントにのみ適用でき、少し複雑なステートメントは機能しません(resultMapなど)。

アノテーションはCRUDを実装します

ツールクラスが作成されると、トランザクションを自動的にコミットできます。

// 使用openSession中参数为true,生成的session就会自动提交事务
SqlSession session = sqlSessionFactory.openSession(true);
// 这样使用这个session就可以实现自动提交,增删改不用commit了!

お問い合わせ

public interface UserMapper{
    
    
    @select("select * from user")
    List<User> getUsers();
    
    @select("select * from user where uid=#{sid} and uname=#{name}")
    List<User> getUsers2(@Param("sid") int id, @Param("name") String name);
}
  • @Paramアノテーションはパラメーターのアノテーションであり、アノテーション内のパラメーターはパラメーターの名前です。言い換えると、SQLで使用されるパラメーターは、実際のパラメーター名ではなく、アノテーション内のパラメーターです。
  • @Paramなしで複数のパラメーターを渡すことはできません。複数のパラメーターは、@ Paramアノテーションを使用してのみ渡すことができます。

増加する

public interface UserMapper{
    
    
    @Insert("insert into user values (#{id}, #{name})")
    boolean insertUser(@Param("id") int id, @Param("name") String name);
}

変更する

public interface UserMapper{
    
    
    @Update("update user set set name=#{name} where id=#{id}")
    boolean updateUser(@Param("id") int id, @Param("name") String name);
}

削除

public interface UserMapper{
    
    
    @Delete("delete from user where id=#{id} and name=#{name}")
    boolean deleteUser(@Param("id") int id. @Param("name") String name);
}

おすすめ

転載: blog.csdn.net/qq_43477218/article/details/113796574