mybatis Mapper.xml和Mapper.java

  通过Mapper.xml和Mapper.java来实现mybatis     关键:Mapper.xml + Mapper.java +Sqlsession.getMapper()


1.Mapper.xml 



 

首先:parameterType 指的是where的部分的来源,

在映射文件中通过parameterType指定输入 参数的类型。

它来源于ItemQueryVo(包装了查询条件)

package cn.itcast.ssm.po;

/**
 * 
 * 

Title: ItemQueryVo.java

*

Description: 商品包装对象

* @author xitw * @date DateTime 2018年5月11日 下午5:48:19 * @version 1.0 */ public class ItemQueryVo { //商品信息 private Items items; //为了系统的可扩展性,对原始的po进行扩展(一般自动生成的po类不动,方便表有变动的时候还是自动生成就行) private ItemCustomer itemCustomer; public Items getItems() { return items; } public void setItems(Items items) { this.items = items; } public ItemCustomer getItemCustomer() { return itemCustomer; } public void setItemCustomer(ItemCustomer itemCustomer) { this.itemCustomer = itemCustomer; } }

package cn.itcast.ssm.po;


/**
 * 
 * 

Title: ItemCustomer.java

*

Description: 商品信息的扩展类

* @author xitw * @date DateTime 2018年5月11日 下午5:48:48 * @version 1.0 */ /** * *

Title: ItemCustomer.java

*

Description:

* @author xitw * @date DateTime 2018年5月11日 下午5:59:06 * @version 1.0 */ public class ItemCustomer extends Items{ //添加商品信息扩展属性 }

其次是resultType:这个就是select * 中的*  显示的部分  这个来自cn.itcast.ssm.po.ItemCustomer 也就是商品的扩展信息,继承与Items表的类

在映射文件中通过resultType指定输出结果的类型。




处理完这两个来源之后:

我们看一下这个sql:SELECT * FROM items where items.name like "%笔记本%"  

为了让这个查询能够复用,所以需要sql片段:



	
	
		
			items.name LIKE '%${itemCustomer.name}%'	
		
	

用if语句来判断,并且把条件参数化   这个参数来自于扩展属性类(因为它是能取得原本表的类+扩展属性的所有信息的)

itemCustomer.name  就是指表items的name字段

最后如下:用include来引用sql片段



2.Mapper.java  

相当于dao (数据访问层) 

创建Mapper.java。同样通过ID找User。具体实现如下

对应xml一样名字:我的项目是用的:ItemsMapperCustomer.java  接口类:传入parameterType  返回resultType

public interface ItemsMapperCustomer {
	public List findItemList(ItemQueryVo itemQueryVo) throws Exception;
}


你可能感兴趣的:(mybatis Mapper.xml和Mapper.java)