Mybatis之Mapper动态代理方式
2017-05-28 15:24
555 查看
Mapper动态代理方式
Mapper动态代理方式开发规范
整体布局
开发流程
注意事项
sqlMapConfigxml配置文件
开发规范
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、UserMapper.xml(映射文件)<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.scarecrow.mapper.UserMapper"> <select id="findUserById" parameterType="Integer" resultType="com.scarecrow.javabean.User"> select * from user where id = #{v} </select> <select id="findUserByUsername" parameterType="String" resultType="com.scarecrow.javabean.User"> select * from user where username like "%"#{v}"%" </select> </mapper>
2、UserMapper(接口文件)
package com.scarecrow.mapper; import java.util.List; import com.scarecrow.javabean.QueryVo; import com.scarecrow.javabean.User; public interface UserMapper { public User findUserById(Integer id); public List<User> findUserByUsername(String name); }
3、User.java( javabean )
package com.scarecrow.javabean; import java.io.Serializable; import java.util.Date; public class User implements Serializable { /** * */ private static final long serialVersionUID = 1L; private Integer id; private String username;// 用户姓名 private String sex;// 性别 private Date birthday;// 生日 private String address;// 地址 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } }
创建完上述文件后 加载UserMapper.xml文件
修改SqlMapConfig.xml文件,添加以下所示的内容:
<mappers> <!-- <mapper resource="com.scarecrow.mapper/UserMapper.xml" /> --> <!-- 注册指定包下的所有mapper接口 --> <package name="com.scarecrow.mapper"/> </mappers>
注意事项
映射文件与接口文件命名必须相同若使用
<package name="com.scarecrow.mapper"/>则mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
sqlMapConfig.xml配置文件
配置内容SqlMapConfig.xml中配置的内容和顺序如下:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
相关文章推荐
- mybatis3整合spring4-采用mapper动态代理的方式开发Dao
- mybatis之入门到开发(四)之 Mapper动态代理方式
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- Mybatis实现Mapper动态代理方式
- Spring与MyBatis整合上_Mapper动态代理方式
- 基于mapper的动态代理的开发方式——MyBatis的第二种开发方式
- Mybatis实现Mapper动态代理方式
- Mybatis学习笔记(4)--MyBatis的Mapper动态代理方式
- Mybatis实现Mapper动态代理方式详解
- Mybatis(二)— 使用Mapper动态代理方式进行开发
- Mybatis之Mapper动态代理方式
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- MyBatis学习记录(3):Mapper动态代理方式开发DAO
- Mybatis之Mapper代理开发方式(四)
- MyBatis笔记——Mapper动态代理
- MyBatis的Mapper代理开发方式的简单使用
- 模仿与学习MyBatis - 1.5 Mapper与动态代理
- mybatis源码分析之mapper动态代理
- mybatis--开发Dao--原始dao方式和Mapper代理方式
- mybatis入门--mapper代理方式开发