Mybatis动态代理和非动态代理的理解

本文介绍了Mybatis动态代理与非动态代理的区别。在传统分层模式下,需要编写DAO层及其实现类,而Mybatis通过动态代理,只需定义Mapper接口即可自动生成实现类。动态代理减少了代码量,提高了开发效率。文章通过实例展示了非动态代理的操作步骤,并详细说明了动态代理的配置,包括接口的四个书写原则,Mapper接口和XML文件的关联。最后,演示了如何使用动态代理的方法获取相同的结果。
摘要由CSDN通过智能技术生成
  1. Mybatis动态代理的好处
    传统分层模式,我们在处理业务的时候需要些 dao 层,然后再 写 dao层的实现类
    具体处理业务在 dao 层的实现类中进行处理, 而 mybatis 在配置 实体类的 Mapper文件之后, 只需要写 相当于 dao(Maper接口) 层接口 , mybatis 就会自动生成 dao (Mapper接口) 的实现类,就可以 调用 dao(Mapper实现类) 的接口了

  2. 先来温习一下非动态代理的Mybatis操作:如果有疑问,请看上一篇mybatis的基本入门

  • 数据库的实体bean类,`
package com.puya.mybatis.pojo;

import java.io.Serializable;

public class User implements Serializable {
	private Integer id;
	private String name;
	private String station;
	private String telephone;
	private String address;
	private String decidedzone_id;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getStation() {
		return station;
	}
	public void setStation(String station) {
		this.station = station;
	}
	public String getTelephone() {
		return telephone;
	}
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getDecidedzone_id() {
		return decidedzone_id;
	}
	public void setDecidedzone_id(String decidedzone_id) {
		this.decidedzone_id = decidedzone_id;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", station=" + station + ", telephone=" + telephone + ", address="
				+ address + ", decidedzone_
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值