@Mapper的使用

在使用SSM做项目的时候,发现大量的配置文件要写,真的蛋疼。要知道懒是推进技术发展的源泉,所以有么有办法可以使用注解,以注解的形式让机器自己帮我们配置这些苦力活,毫无疑问,答案是肯定有的,因为懒,所以有了@mapper注解

和往常开发一样,dao接口层是我们要进行配置的,就在这里配置@mapper注解

@Mapper
public interface Inter {
    @Insert("insert into sysuser values('e212te','2','jjj','pwd','ljk','男',1)")
    int addUser();
}

有参数的情况

@Mapper
public interface Inter {
    @select("select * from sysuser where userid=#{id}")
    int queryUserByid(int id);
}

多参数情况

@Mapper
public interface Inter {
    @select("select * from sysuser where userid=#{id} and uanme=#{uname}")
    int queryUserByid(@param("id") int id,@param("uname") String uname);
}

如果是实体类呢

@Mapper
public interface Inter {
   @Select("select * from sysuser where userid=#{userid} or username=#{username}")
    List<Sysuser> selectUser(Sysuser u);
}

首先我们肯定要保证的是数据库连接成功,IOC环境一切正常
我们可以不用扫描mapper的映射文件,直接进行接口包扫描

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="A"/>
    </bean>

其实可以猜测,当进行MapperScan的时候,检查到@Mapper,就拦截,生成代理类加入集合中,当执行该类的某一个方法时,检查方法的注解和参数,获取相应的值,执行方法和sql

不足的是,每一个接口都需要配置mapper注解,所以说懒是技术发展的中间力量,后来有又了@MapperScan注解

下面进行测试

public class InterTest {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-dao.xml");
        Inter bean = applicationContext.getBean(Inter.class);
        int i = bean.addUser();
        System.out.println(i);
    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" "-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=59005:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program bin\rep\org\springframework\spring-tx\5.2.4.RELEASE\spring-tx-5.2.4.RELEASE.jar" 
九月 22, 2020 7:10:12 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1

Process finished with exit code 0
  • 18
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗罗的1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值