Mybatis提供了注解开发方式,用于替代Mapper.xml文件,我们可以直接用注解完成SQL的定义与绑定。
注解开发具体步骤:
1. 在DAO接口的方法上添加注解
@Select("select id,username,password,gender,regist_time as registerTime from t_user")
List<User> queryUsers();
2. 在主配置文件中修改注册方式
<mapper class="com.zt.DAO.UserDAO"/>
条件查询的注解方式:
@Select("select id,username,password,gender,regist_time as registerTime\n" +
" from t_user" +
" where id = #{id}")
User queryUserById(@Param("id") Integer id);
删除的注解方式:
@Delete("delete from t_user\n" +
" where id = #{id}")
Integer deleteUserById(@Param("id") Integer id);
更新的注解方式:
@Update("update t_user\n" +
" set username = #{username},password = #{password},gender = #{gender},regist_time = #{registerTime}\n" +
" where id = #{id}")
Integer updateUser(User user);
插入的注解方式:
@Insert("insert into t_user values(#{id},#{username},#{password},#{gender},#{registerTime})")
Integer insertUser(User user);
[重要]主键回填的注解:
@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("insert into t_user values(#{id},#{username},#{password},#{gender},#{registerTime})")
Integer insertUser(User user);
useGeneratedKeys 表示是否使用了自增 keyProperty 表示要回填的属性列
值得注意的是,虽然注解免去了定义mapper.xml文件的麻烦,但是注解并不如mapper.xml文件灵活,如设置resultMap等等,同时,SQL和代码会耦合在一起。