mybatis基于注解配置

本文介绍了Mybatis基于注解的配置方式,包括如何创建接口并进行测试。在注解配置下,接口的SQL语句可以直接写在接口方法上,无需在xml文件中注册,但需要在测试代码中通过session.getConfiguration().addMapper()进行接口注册。另外,也可以选择空写xml文件并在mybatis配置文件中注册,此时namespace需按特定格式设置。namespace在Mybatis中起到绑定Dao接口的作用,使得无需编写实现类即可直接面向接口编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上一篇Mybatis基于xml配置

这一篇讨论的是关于注解配置

一、创建接口StudenetMapper.java
在这里插入图片描述二、写测试类
方法一:我们不用再写studentMapper.xml(可以看到接口studentMapper通过注解写的sql语句和在studentMapper.xml中写的增删改查sql语句是一样的),所以也不用在mybatis-configuration.xml对其进行注册;但是我们在测试代码里要添加一行代码session.getConfiguration().addMapper(StudentMapper.class);进行注册;接口StudentMapper是否需要注册呢?也不需要,否则它就会报如下错误:
在这里插入图片描述方法二(不用写session.getConfiguration().addMapper(StudentMapper.class)):我们可以空写studentMapper.xml,然后在mybatis-configuration.xml进行注册也是可以运行的;值得注意的是此时namespace的值不再是studentMapper,而是Mapper.StudentMapper,对应的是StudentMapper这个接口
在这里插入图片描述——————————————————————————————————————————————————————————
不过其实mapper更常用的方式是:

在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。

当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句,如下:

假设定义了IArticeDAO接口

public interface IArticleDAO
{
   List<Article> selectAllArticle();
}

对于映射文件如下:

<mapper namespace="IArticleDAO">
    <select id="selectAllArticle" resultType="article">
            SELECT t.* FROM T_article t WHERE t.flag = '1' ORDER BY t.createtime DESC
     </select>

请注意接口中的方法与映射文件中的SQL语句的ID一一对应
则在代码中可以直接使用IArticeDAO面向接口编程而不需要再编写实现类

关于namespace另一用法,摘自Mapper中namespace的用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值