关于整合spring+mybatis 第三种方式-使用注解
2024-08-27 04:56:27
使用注解
1.与前两种方法一致。不过稍许不同的是beans.xml中配置的差异。
<!-- 配置sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:com/bsss/conf/mybatis.xml"></property>
</bean> <!-- id="userloginMapper"必须与services实现类中所声明的mapper变量名保持一致 -->
<bean id="userloginMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.bsss.mapper.UserloginMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
<bean id="userServices" class="com.bsss.services.impl.UserLoginServicesImpl">
<property name="userloginMapper" ref="userloginMapper"></property>
</bean>
2. 增加Mapper接口
//Mapper接口
public interface UserloginMapper {
//org.mybatis.spring.mapper.MapperFactoryBean
@Select("select * from userlogin")
public List<Userlogin> getUserlogin();
}
3. Services层接口和实现类
public interface UserLoginServices {
public List<Userlogin> getUserLoginInfo();
} public class UserLoginServicesImpl implements UserLoginServices {
private UserloginMapper userloginMapper;//必须与beans.xml中mapper的bean id保持一致
//必须有setter方法
public void setUserloginMapper(UserloginMapper userloginMapper) {
this.userloginMapper = userloginMapper;
}
@Override
public List<Userlogin> getUserLoginInfo() {
// TODO Auto-generated method stub
return userloginMapper.getUserlogin();
} }
4. 测试类
public class Test { public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("com/bsss/conf/beans.xml");
UserLoginServices uls = (UserLoginServices)ac.getBean("userServices");
System.out.println(uls.getUserLoginInfo().size());
} }
最新文章
- vs2013 无法打开 源 文件 ";SDKDDKVer.h";
- 原生JS实战:分享一个首页进度加载动画!
- centos ADSL 拨号上网设置
- Ubuntu 16.04 安装mysql并设置远程访问
- 【亚瑟士 ASICS 系列】
- 80、Android Support v4、v7、v13的区别以及应用场景
- 快速学习C语言二: 编译自动化, 静态分析, 单元测试,coredump调试,性能剖析
- 如何预览github中的html页面
- 【云计算】docker三剑客如何支持分布式部署?
- 关闭SSMS的事务自动提交,改为手动提交
- NUnit笔记
- Python数据结构-序表
- 谈论seo思维性对优化中起到决定性的作用
- LARS 最小角回归算法简介
- VSCode下调试mocha测试用例
- Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题
- 如何应用ML的建议-下
- 《Linux内核设计与实现》第四章读书笔记
- excel 鼠标上下左右移动
- java struts2入门学习---常用标签学习总结
热门文章
- 如何关闭OSX 10.11 SIP (System Integrity Protection)
- 欧拉函数φ(x)简要介绍及c++实现
- C\C++对于字符串输入处理
- 怎么用js写一个类似于百度输入框的搜索插件
- 嵌入式之:Linux下文件编译过程
- Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)
- Python 模块和包的概念
- (转)git clone: error: RPC failed; result=18, HTTP code = 200 解决办法
- Verilog学习笔记基本语法篇(四)&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183;块语句
- 【Go】并发编程