SSM框架Mybatis之Mapper代理开发
来源:互联网 发布:saas平台多租户 mysql 编辑:程序博客网 时间:2024/05/16 12:59
MyBatis可以自动生成Mapper接口的代理对象(即Mapper实现类),我们可以利用这一点来简化原始DAO开发的代码。
在Mapper代理开发DAO时,需要遵循以下四条开发规范:
- Mapper.xml中的namespace是Mapper接口的全路径地址;
- Mapper接口中的方法名和Mapper.xml文件中statement的id相同;
- Mapper接口中方法的输入参数类型和Mapper.xml中statement的parameterType相同;
- Mapper接口中方法的返回值类型和Mapper.xml中statement的resultType相同。
以下是代码:
Mapper.xml中的namespace代码:
<mapper namespace="com.itgungnir.hellomybatis.mapper.EmployeeMapper"> ……</mapper>
Mapper接口中的代码:
public interface EmployeeMapper { Employee findEmployeeById(int empNo) throws Exception; List<Employee> findEmployeeByName(String name) throws Exception; void insertEmployee(Employee employee) throws Exception; void updateEmployee(Employee employee) throws Exception; void deleteEmployee(int empNo) throws Exception;}
测试代码:
public class EmployeeMapperTest { private SqlSessionFactory factory; // 此方法在执行下面的所有方法之前执行 @Before public void setUp() throws Exception { // 创建SqlSessionFactory // MyBatis配置文件 String resource = "SqlMapConfig.xml"; // 得到配置文件流 InputStream is = Resources.getResourceAsStream(resource); // 创建会话工厂,传入MyBatis配置文件的信息 factory = new SqlSessionFactoryBuilder().build(is); } @Test public void testFindEmployeeById() throws Exception { SqlSession session = factory.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper.class); Employee employee = mapper.findEmployeeById(7369); session.close(); System.out.println(employee); }}
由于Mapper代理方式简单,又避免了代码的硬编码,因此现在通常都使用这种方式。
在spring配置文件中需要配置一下内容:
</bean><!-- SqlSessionFactory --><!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据库连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 加载mybatis的全局配置文件 --> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" /> <property name="mapperLocations" value="classpath:com/vastsum/dao/*.xml"/></bean><!-- Mapper映射文件的包扫描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.vastsum.dao" /></bean>
注意:红色字体部分是表示扫描mapper.xml文件。
如果使用intellij idea开发工具,你会发现在Service层依赖注入Mapper时会报错,这时需要再dao接口层加上@Rrpository
注解。
最后还要注意spring、mybatis、mybatis-spring这三者之间的版本。
如下这个版本是可以通过测试的
spring:4.3.7
mybaits:3.4.2
mybatis-spring:1.3.1
阅读全文
0 0
- SSM框架Mybatis之Mapper代理开发
- SSM框架学习之(二)Mybatis——mapper开发
- springmvc-mybatis 之mapper代理开发
- MyBatis之Mapper动态代理开发
- [mybatis]Mapper接口代理开发
- 4.mybatis,mapper代理开发
- mapper代理方法开发mybatis
- Mybatis Mapper代理开发规范
- mybatis开发Mapper代理方式
- mybatis mapper接口代理开发
- MyBatis之Mapper动态代理
- Mybatis之mapper代理方法
- MyBatis之 mapper代理方式
- Mybatis之Mapper动态代理
- Mybatis之Mapper动态代理
- Mybatis之Mapper代理开发方式(四)
- mybatis框架(2)---mapper代理方法
- 【SSM-MyBatis框架】Mapper.xml配置文件(mybatis的核心)
- Java集合及concurrent并发包总结
- [Leetcode] 32. Longest Valid Parentheses
- 大数据Spark企业级实战版【学习笔记】----Spark R& MLBase
- OpenMV嵌入式图像处理 笔记
- 模版 取得一个数组中最大元素的下标
- SSM框架Mybatis之Mapper代理开发
- cocos2d-x CCScrollView 源码分析
- MySQL_整型、字符、浮点、时间类型
- Android学习参考推荐权威门户网站
- 数组随机取值,随机红包,冒泡排序
- Linux功耗管理(21)_Linux cpuidle framework(4)_menu governor
- C语言之生产者与消费者模型
- 之MapPartitionsWithIndexOperator
- Mybatis配置详解