习题
一、 填空题
1.要求根据员工的id查找员工信息,下列使用@Select注解的代码书写正确的是()。
A @Select("select * from tb_worker where id = ?")
B @Select("select * from tb_worker where id = #id")
C @Select("select * from tb_worker where id = {id}")
D @Select("select * from tb_worker where id = #{id}")
2.关于@Insert注解的使用,下列代码书写正确的是()。
A Insert("insert into tb_worker(name,age,sex,worker_id)" +"values(#{name},#{age},#{sex},#{worker_id})") int insertWorker(Worker worker);
B @Insert("insert into tb_worker(name,age,sex,worker_id)" +"values(#{name} #{age} #{sex} #{worker_id})") int insertWorker(Worker worker);
C @Insert("insert into tb_worker(name,age,sex,worker_id)" +"values(#{name},#{age},#{sex},#{worker_id})") int insertWorker(Worker worker);
D @Insert("insert into tb_worker(name,age,sex,worker_id)" +"values({name},{age},{sex},{worker_id})") int insertWorker(Worker worker);
3.在数据表employee中根据id删除员工信息,下列@Delete注解的写法正确的是()。
A @Delete("delete from employee where id = ?")
B @Delete("delete from employee")
C @Delete("delete from employee where id = #{id}")
D 以上说法都不正确
4.下列选项中,使用@Select和@Param编写代码正确的是()。
A @Select("select * from tb_worker where id = #{param01}") Worker selectWorkerByIdAndName(@Param("param01") int id);
B @Select("select * from tb_worker where id = #{param}") Worker selectWorkerByIdAndName(@Param("param01") int id);
C @Select("select * from tb_worker where id = {param01}") Worker selectWorkerByIdAndName(@Param("param01") int id);
D @Select("select * from tb_worker where id = param01") Worker selectWorkerByIdAndName(@Param("param01") int id);
5.下列属性中,不属于@Results注解的是()。
A. column
B. property
C. size
D. one
二、填空题
1.在@Many注解中,用于指定关联属性的值的属性是【】。
2.MyBatis中,【】注解的作用是完成实体类中一个属性和数据表中一个字段的映射。
3.可以用于结果集映射的三大注解有@ResultMap、@Results和【】。
4.在@Result注解中,【】属性用来指定关联属性。
三、判断题
1.MyBatis中,除了XML的映射方式,MyBatis还支持通过注解实现POJO对象和数据表之间的关系映射()。
2.在@Insert注解中,value属性是可选的()。
3.MyBatis中使用注解进行删除时,一般将SQL语句直接写在接口上()。
4.在@Results注解中,只能包含一个@Result注解()。
四、简答题
1.请简述@Result注解中属性column、property和one的作用。

