您的位置:首页 > 移动开发

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(映射器)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis 框架