博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis笔记——Mapper动态代理
阅读量:6236 次
发布时间:2019-06-22

本文共 2082 字,大约阅读时间需要 6 分钟。

前提概要

Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。

Mapper接口开发需要遵循以下规范:

1.Mapper.xml文件中的namespace与mapper接口的类路径相同。

2.Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3.Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
4.Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

下面是实例介绍。


1.环境配置

工程目录结构如下

目录

SqlMapConfig.xml


2.Mapper映射接口(UserMapper.java)和Mapper映射表(UserMapper.xml)

UserMapper.java

package com.pwc.dao.mapper;import java.util.List;import com.pwc.pojo.User;public interface UserMapper {
public User findById(int id); public void deleteById(int id); public void insert(User user); public List
findByAge(int age);}

UserMapper.xml

INSERT INTO User(name,age) VALUES(#{name},#{age})
DELETE * FROM User WHERE id=#{id}

3.测试

测试类

package com.pwc.test;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.pwc.dao.mapper.UserMapper;import com.pwc.pojo.User;public class Test {    public static void main(String[] args) {        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();        SqlSessionFactory factory=builder.build(Test.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml"));        SqlSession session = factory.openSession();        UserMapper mapper = session.getMapper(UserMapper.class);        User user = mapper.findById(1);        session.close();        System.out.println(user);    }}

测试结果如下

User [id=1, name=pwc, age=18]

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

转载于:https://www.cnblogs.com/pwc1996/p/4839134.html

你可能感兴趣的文章
docker往阿里云推镜像和打包镜像
查看>>
最新民政部行政区划代码,省市区三级
查看>>
python基础知识~ subprocess模块
查看>>
结对学习感想及团队创意照
查看>>
多线程
查看>>
java socket
查看>>
得到一个临时的文件名称
查看>>
电路原理图
查看>>
几种白盒测试的实例
查看>>
数学分析_Tom Apostol_定理7.48:黎曼可积的充要条件
查看>>
《微分方程_附应用及历史注记》Page 4.
查看>>
TreeView的绑定与读取
查看>>
frame和bounds
查看>>
TFS简介
查看>>
获取当前页面URL与服务器响应
查看>>
单例模式(Singleton)
查看>>
奇妙JS代码系列(三)一道有趣的题(创建一个长度为x数组)
查看>>
适合最新版docker自定义启动配置
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
IOS Socket 02-Socket基础知识
查看>>