关于整合spring+mybatis 第三种方式-使用注解
使用注解
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());
    }
}
关于整合spring+mybatis 第三种方式-使用注解的更多相关文章
- spring配置datasource三种方式
		详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp34 spring配置datasource三种方式 1.使用org.spri ... 
- Spring创建对象的三种方式以及创建时间
		创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ... 
- Spring依赖注入三种方式详解
		在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ... 
- spring实例化bean三种方式
		我看了这篇博文<https://www.cnblogs.com/zhanglei93/p/6221546.html>,以及自己实践总结了关于spring实例化bean对象的3种方式. 一. ... 
- spring配置datasource三种方式及具体信息
		1.使用org.springframework.jdbc.datasource.DriverManagerDataSource说明:DriverManagerDataSource建立连接是只要有连接就 ... 
- Spring笔记03(Spring创建对象的三种方式)
		1.创建对象的三种方式和bean的生命周期的验证: Animal接口代码: package cn.pb.dao; /** * 动物接口 */ public interface Animal { //吃 ... 
- spring配置datasource三种方式 数据库连接池
		尊重原创(原文链接):http://blog.csdn.net/kunkun378263/article/details/8506355 1.使用org.springframework.jdbc.da ... 
- 创建 Spring容器的三种方式
		一.src路径下打包完在war包的classes层级下 1.Spring容器创建的三种方式 创建Bean容器之后创建对象: 其中第三种使用的是BeanFactory对象 2.spring通过配置文件用 ... 
- Spring集成Memcached三种方式(一)
		转载:http://blog.csdn.net/u013725455/article/details/52102170 Memcached Client目前有3种: Memcached Client ... 
随机推荐
- 使用prelu
			一个使用方式:http://blog.csdn.net/xg123321123/article/details/52610919 还有一种是像relu那样写,我就是采用的这种方式,直接把名字从relu ... 
- 一、numpy入门
			Array import numpy as np # create from python list list_1 = [1, 2, 3, 4] array_1 = np.array(list_1)# ... 
- Day5 集合的深浅copy
			集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试, ... 
- 玩4K必备知识:HDMI1.4、2.0、2.0a、2.0b接口参数对比【扫盲贴】
			https://www.4k123.com/thread-55369-1-1.html 前言:玩4K的同学都知道,HDMI接口是视频传输最常用的接口,但是这个接口却有好几个版本HDMI1.4.HDMI ... 
- 初识 Hibernate
			Hibernate 框架 1.1 什么是框架? 框架是一个提供了可重用的公共结构半成品. 2.1 关于Hibernate Hibernate是数据持久层的一个轻量级框架.数据持久层的框架有很多 ... 
- Bootstrap历练实例:链接样式按钮
			<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ... 
- Web开发面临的挑战主要有哪些?
			摘要:要成为一名高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果.而在开发中难免会遇到一些困难,从前端到后端. 导读:要成为一名高效的Web开发者,这需要我们做很 ... 
- 简单jQuery图片自适应宽度插件jQuery.imgAutoSize.js
			(function ($) { var loadImg = function (url, fn) { var img = new Image(); img. ... 
- tkinter学习-选择按钮
			阅读目录 Checkbutton Radiobutton LabelFrame checkbutton : 说明:多选框控件,用于在程序中提供多项选择框,但是处理“多选一”的问题,还是交给 Radio ... 
- 前端开发中提到的“脚手架”到底指什么,CLI?gulp 和 gulp-cli有什么区别
			一般来说,脚手架是帮你减少「为减少重复性工作而做的重复性工作」的工具. gulp和gulp-cli的区别可以看这个task - what does gulp-"cli" stand ... 
