注解开发
使用注解一般用于简化配置文件. 但是, 注解有时候也不是很友好(有时候反而更麻烦), 例如动态 SQL等,所以注解和配置文件可以配合使用。
MyBatis 中常用的注解
CRUD 注解
@Select: 类似于select标签
@Insert: 类似于insert标签
@Update: 类似于update标签
@Delete: 类似于delete标签
package com.xxxx.mapper; import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.bjsxt.pojo.Student;
public interface StudentMapper {
@Select("select * from t_student")
List<Student> selAll();
@Insert("insert into t_student values (default, #{name}, #{age}, #{gender}, # {cid})")
int insStu(Student student);
@Update("update t_student set age=#{1} where id=#{0}")
int updStu(int id, int age);
@Delete("delete from t_student where id=# {0}")
int delStu(int id);
}
其他注解
@Results: 类似于resultMap标签
@Result: 类似resultMap的子标签
@One: 类似于association标签
@Many: 类似于collection标签
以下实现一对一的注解开发 @One
package com.xxxx.mappers;
import com.xxxx.pojo.Dept;
import org.apache.ibatis.annotations.Select;
public interface DeptMapper {
@Select("select * from dept where deptno = #{deptno}")
Dept queryDeptByDeptno(int deptno);
}
package com.xxxx.mappers;
import com.xxxx.pojo.Emp;
import org.apache.ibatis.annotations.One;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache