MyBatis Mapper

CRUD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Insert("INSERT INTO T_CURRENCY(name, type, code, symbol)VALUES(#{obj.name}, #{obj.type}, #{obj.code}, #{obj.symbol})")
@Options(useGeneratedKeys = true, keyProperty = "obj.id", keyColumn = "id")
int insertOne(@Param("obj") Currency currency);

@Update("UPDATE T_CURRENCY set name=#{obj.name}, type=#{obj.type}, code=#{obj.code}, symbol=#{obj.symbol}")
int updateOne(@Param("obj") Currency currency);

@Delete("DELETE FROM T_CURRENCY WHERE id=${objId}")
int deleteOne(@Param("objId") Long id);

@Select("SELECT * FROM T_CURRENCY WHERE id=${objId}")
Currency findOne(@Param("objId") Long id);

@Select("SELECT * FROM T_CURRENCY")
List<Currency> findAll();

$与#的区别

1
2
3
4
5
6
7
// This example creates a prepared statement, something like select * from teacher where name = ?;
@Select("Select * from teacher where name = #{name}")
Teacher selectTeachForGivenName(@Param("name") String name);

// This example creates n inlined statement, something like select * from teacher where name = 'someName';
@Select("Select * from teacher where name = '${name}'")
Teacher selectTeachForGivenName(@Param("name") String name);