Mybatis, 实现一对多
我这里是拿商品做为例子
不多说直接上代码
Mapper.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.nf147.mall.dao.CommodityMapper"> <resultMap id="BaseResultMap" type="com.nf147.mall.entity.Commodity"> <id column="product_id" jdbcType="INTEGER" property="productId"/> <result column="category_id" jdbcType="INTEGER" property="categoryId"/> <result column="product_code" jdbcType="VARCHAR" property="productCode"/> <result column="product_name" jdbcType="VARCHAR" property="productName"/> <result column="product_content" jdbcType="LONGVARCHAR" property="productContent"/> <!--这里还需要标明关系 property属性对应是实体类的字段名--> <association property="standard" resultMap="StandardResultMap"></association> <association property="dommodityattribute" resultMap="DommodityattributeResultMap"></association> </resultMap> <!--这个是要查询的表1 总之你直接去要查询的表复制就好 --> <resultMap id="DommodityattributeResultMap" type="com.nf147.mall.entity.Dommodityattribute"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="product_id" jdbcType="INTEGER" property="productId"/> <result column="product_simg" jdbcType="VARCHAR" property="productSimg"/> </resultMap> <!--这个是要查询的表2--> <resultMap id="StandardResultMap" type="com.nf147.mall.entity.Standard"> <id column="specs_id" jdbcType="INTEGER" property="specsId"/> <result column="product_id" jdbcType="INTEGER" property="productId"/> <result column="product_specs" jdbcType="VARCHAR" property="productSpecs"/> <result column="product_price" jdbcType="DECIMAL" property="productPrice"/> </resultMap>
实体类:
public class Commodity { private Integer productId; private Integer categoryId; private String productCode; private String productName; private String productContent; private Standard standard; //第一个表的实体类 private Dommodityattribute dommodityattribute; //第二个表的实体类 然后再提供 get 和 set 的方法 public Standard getStandard() { return standard; } public void setStandard(Standard standard) { this.standard = standard; } public Dommodityattribute getDommodityattribute() { return dommodityattribute; } public void setDommodityattribute(Dommodityattribute dommodityattribute) { this.dommodityattribute = dommodityattribute; } public Integer getProductId() { return productId; } public void setProductId(Integer productId) { this.productId = productId; } public Integer getCategoryId() { return categoryId; } public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; } public String getProductCode() { return productCode; } public void setProductCode(String productCode) { this.productCode = productCode == null ? null : productCode.trim(); } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName == null ? null : productName.trim(); } public String getProductContent() { return productContent; } public void setProductContent(String productContent) { this.productContent = productContent == null ? null : productContent.trim(); } }
希望能帮助大家,谢谢。