十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍使用mybatis递归怎么实现一对多,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联公司专注于庆安网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供庆安营销型网站建设,庆安网站制作、庆安网页设计、庆安网站官网定制、微信小程序定制开发服务,打造庆安网络公司原创品牌,更为您提供庆安网站排名全网营销落地服务。
CREATE TABLE `goods_category` ( `goodscateid` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `parentid` int(11) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `displayorder` int(11) DEFAULT NULL, `commissionrate` double DEFAULT NULL, `enabled` int(11) DEFAULT NULL, PRIMARY KEY (`goodscateid`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; /*Data for the table `goods_category` */ insert into `goods_category`(`goodscateid`,`name`,`parentid`,`description`,`displayorder`,`commissionrate`,`enabled`) values (1,'java',0,'111',NULL,NULL,NULL),(2,'spring',1,'222',NULL,NULL,NULL),(3,'springmvc',1,'333',NULL,NULL,NULL),(4,'struts',1,'444',NULL,NULL,NULL),(5,'jdbc',0,'555',NULL,NULL,NULL),(6,'hibernate',5,'666',NULL,NULL,NULL),(7,'mybatis',5,'777',NULL,NULL,NULL),(8,'jdbctemplate',5,'888',NULL,NULL,NULL),(9,'beanfactory',3,'999',NULL,NULL,NULL),(10,'factorybean',3,'000',NULL,NULL,NULL);
实体类
@JsonIgnoreProperties({"displayorder","commissionrate","enabled"}) public class GoodsCategoryVo { private Integer goodscateid; private String name; private Integer parentid; private String description; private Integer displayorder; private Double commissionrate; private Integer enabled; private Listcatelist; get 。。。 set。。。 tostring。。。
dao层
public interface GoodsMapper { ListgetCategory(Integer pid); }
mapper.xml
之后直接访问对应的方法,即可查询出来
@RequestMapping("/getGoodsList") @ResponseBody public ListgetGoodsList(){ // pid指定为0 List list = goodsMapper.getCategory(0); return list; }
结果,可以使用json在线工具 ,也可以使用这个工具
[ { "goodscateid": 1, "name": "java", "parentid": 0, "description": "111", "catelist": [ { "goodscateid": 2, "name": "spring", "parentid": 1, "description": "222", "catelist": [] }, { "goodscateid": 3, "name": "springmvc", "parentid": 1, "description": "333", "catelist": [ { "goodscateid": 9, "name": "beanfactory", "parentid": 3, "description": "999", "catelist": [] }, { "goodscateid": 10, "name": "factorybean", "parentid": 3, "description": "000", "catelist": [] } ] }, { "goodscateid": 4, "name": "struts", "parentid": 1, "description": "444", "catelist": [] } ] }, { "goodscateid": 5, "name": "jdbc", "parentid": 0, "description": "555", "catelist": [ { "goodscateid": 6, "name": "hibernate", "parentid": 5, "description": "666", "catelist": [] }, { "goodscateid": 7, "name": "mybatis", "parentid": 5, "description": "777", "catelist": [] }, { "goodscateid": 8, "name": "jdbctemplate", "parentid": 5, "description": "888", "catelist": [] } ] } ]
mybatis递归就是这么的简单。
说下mybatis一对多实现
对应的bean
public class Dept { private Integer id; private String deptName; private String locAdd; private Listemps
@JsonIgnoreProperties("dept") public class Emp { private Integer id; private String name; private Dept dept;
dao层
public interface DeptMapper { public Dept getDeptById(Integer id); }
public interface EmpMapper { public Emp getEmpByDeptId(Integer deptId); }
mapper.xml文件
对应的controller方法
@RequestMapping("/getDeptById") @ResponseBody public Dept getDeptById() { Dept deptById = deptMapper.getDeptById(1); return deptById; }
无非就是比简单查询复杂一些罢了。
代码目录
关于使用mybatis递归怎么实现一对多就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。