MyBatis(十三):使用注解开发

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

一、什么是使用注解开发
使用注解开发就是无需再配置Mapper.xml文件,直接在接口中利用注解实现SQL语句。
二、为什么要使用注解开发
正如官方文档所说:
使用注解来映射简单语句会使代码显得更加简洁。
但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。
三、如何使用注解进行开发
1.删掉原来的UserMapper.xml
2.修改UserMapper接口
  1. package com.jms.dao;
  2. import com.jms.pojo.User;
  3. import org.apache.ibatis.annotations.Select;
  4. import java.util.List;
  5. public interface UserMapper {
  6.     @Select("select * from user")
  7.     List<User> getUserList();
  8. }
复制代码
在方法上面的那就是注解。
3.修改核心配置文件mybatis-config.xml中的mapper映射
  1. <mappers>
  2.     <mapper class="com.jms.dao.UserMapper"/>
  3. </mappers>
复制代码
原来是映射xml文件,现在我们修改为映射接口。
4.junit测试
  1. package com.jms.dao;import com.jms.pojo.User;import com.jms.utils.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.List;public class UserMapperTest {    @Test    public void test() {<mappers>
  2.     <mapper class="com.jms.dao.UserMapper"/>
  3. </mappers>   SqlSession sqlSession = MyBatisUtil.getSqlSession();<mappers>
  4.     <mapper class="com.jms.dao.UserMapper"/>
  5. </mappers>   UserMapper userMapper = sqlSession.getMapper(UserMapper.class);<mappers>
  6.     <mapper class="com.jms.dao.UserMapper"/>
  7. </mappers>   List userList = userMapper.getUserList();<mappers>
  8.     <mapper class="com.jms.dao.UserMapper"/>
  9. </mappers>   for (User user : userList) {<mappers>
  10.     <mapper class="com.jms.dao.UserMapper"/>
  11. </mappers><mappers>
  12.     <mapper class="com.jms.dao.UserMapper"/>
  13. </mappers>  System.out.println(user);<mappers>
  14.     <mapper class="com.jms.dao.UserMapper"/>
  15. </mappers>   }    }}
复制代码
测试结果如下:

 
测试结果没有问题。
那么问题就来了,我们究竟应该在xml文件中去映射呢还是用注解进行映射呢。上面其实已经说得很明白了,简单的语句用注解映射更加简洁,而复杂的语句则应该用xml文件进行映射。正如官方文档的一句话:选择何种方式来配置映射,以及认为是否应该要统一映射语句定义的形式,完全取决于你和你的团队。 换句话说,永远不要拘泥于一种方式,你可以很轻松的在基于注解和 XML 的语句映射方式间自由移植和切换。
技术没有高低好坏之分,有区别的是使用技术的人。
 
(本文仅作个人学习记录用,如有纰漏敬请指正)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表