欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis|注解开发入门

程序员文章站 2022-05-24 20:15:16
...

前言

  首先明确一点,并不能使用纯注解开发,主配置文件(SqlMapConfig.xml)必须配置,能够使用注解替换的是映射文件。例如入门案例中的cn/itcast/dao/UserDao.xml文件。注意:为了使用注解,这个文件我们必须把它删除,不然mybatis不会去扫描dao接口中的注解。

入门案例(点击)基础上,需要更改的地方

  1. ????下面的映射文件我们不再需要了,需要使用注解把配置转移到dao接口中。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itcast.dao.UserDao">
    <select id="findAll" resultType="cn.itcast.domain.User">
        select * from user
    </select>
</mapper>

  用户接口 UserDao

package cn.itcast.dao;

import cn.itcast.domain.User;

import java.util.List;

/**
 * 用户dao接口
 */
public interface UserDao {

    /**
     * 查询所有
     * @return
     */
    @Select("select * from user")
    List<User> findAll();
}

  ????这一个@Select 就完成了配置,相比xml配置简单的许多。它为什么能够完成任务那?mybatis 在扫描接口时,会看哪一个方法有@Select注解,如果方法上有@Select注解,就能得到方法名(相当于xml中的select语句中的id) 和 方法所在类的全类名(namespace属性)。关于resultType和sql语句使用注解mybatis也完全能够获得。
Mybatis|注解开发入门
  2. ????还有SqlMapConfig.xml中的Mapper标签也必须有所改变。

    <!-- 指定带有注解的dao接口所在位置 -->
    <mappers>
        <mapper class="cn.itcast.dao.UserMapper"></mapper>
        <mapper class="cn.itcast.dao.AccountMapper"></mapper>
    </mappers>

或者

    <!-- 指定带有注解的dao接口所在位置 -->
    <mappers>
    	<!-- 一个package标签解决:mybatis会自动去该包下扫描 -->
        <package name="cn.itcast.dao"/>
    </mappers>
相关标签: Mybatis