Mybatis之Mapper动态代理方式
来源:互联网 发布:淘宝差评多少天可以改 编辑:程序博客网 时间:2024/05/29 12:28
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 mapperPUBLIC "-//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(数据源)
- transactionManager(事务管理)
- environment(环境子属性对象)
- mappers(映射器)
阅读全文
1 0
- Mybatis之Mapper动态代理方式
- Mybatis之Mapper动态代理方式
- MyBatis之 mapper代理方式
- MyBatis之Mapper动态代理
- Mybatis之Mapper动态代理
- Mybatis之Mapper动态代理
- Mybatis实现Mapper动态代理方式
- Mybatis实现Mapper动态代理方式
- mybatis(6)---mapper动态代理方式
- MyBatis之Mapper动态代理开发
- MyBatis---mapper动态代理
- Mapper动态代理方式
- mybatis之入门到开发(四)之 Mapper动态代理方式
- MyBatis学习记录(3):Mapper动态代理方式开发DAO
- mybatis开发Mapper代理方式
- Mybatis之Mapper代理开发方式(四)
- Mybatis之mapper代理方法
- mybatis入门--mapper代理方式开发
- C. Vladik and Memorable Trip
- 图像处理基础知识系列之二:核概率密度估计简介
- 网站怎么赚钱? 靠流量赚钱吗? 广告吗? 建什么网站赚钱
- scala隐式转换
- 在Nanopi-NEO上直接编译带Cedrus-avcodec的ffmpeg
- Mybatis之Mapper动态代理方式
- 1802 Set Operations (eden)
- MySQL整数类型
- SSM 配置ehcache
- UVA1635 Irrelevant Elements —— 唯一分解定理 + 二项式定理
- 数组的增、删、改、查
- MySQL浮点数和定点数类型
- Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip(dp)
- LINUX定时清理文件定时任务