本篇主要讨论使用Mybatis的注解来进行基本操作
使用Mybatis的注解
- 在数据库中创建一个Tag表,用于演示注解
DROP TABLE IF EXISTS `h_tag`;
CREATE TABLE `h_tag` (
`id` int(20) NOT NULL,
`tag` varchar(30) DEFAULT NULL,
`rated` int(20) DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `h_tag`(`id`,`tag`,`rated`) values (1,'pure_love',0),(3,'rape',1);
- 创建Tag实体类、Dao接口
public class Tag {
private int id;
private String tag;
private int rated;
}
public interface TagDao {
@Select("select * from h_tag")
List<Tag> findAll();
@Select("select * from h_tag where tag = #{name}")
Tag findByTagName(@Param("name") String name);
}
对于@Param
注解,基本类型参数或者String
,需要加上,而引用类型不需要加
- 在[mybatis-config.xml]中绑定TagDao接口
<!-- 注册Mapper.xml -->
<mappers>
<mapper resource="com/dale/dao/UserMapper.xml" />
<!-- 为了使用注解 绑定接口 -->
<mapper class="com.dale.dao.TagDao" />
</mappers>
- JUnit测试代码
@Test
public void testAnnotation() {
SqlSession ss = MybatisUtil.getSqlSession();
TagDao tagDao = ss.getMapper(TagDao.class);
List<Tag> tg = tagDao.findAll();
for(Tag u:tg) {
System.out.println(u.getTag());
}
Tag tem = tagDao.findByTagName("lolicon");
System.out.println(tem.getRated());
ss.close();
}
注解与xml配置文件的对比
使用注解更方便,但是其功能没有xml配置文件强大,更多时候还是使用配置文件。
Top comments (0)