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也完全能够获得。
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>
上一篇: 《瘟疫公司》大型更新:这次玩家要干掉病毒 拯救世界
下一篇: mysql新手入门随笔