springboot怎么嵌套子类
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍了springboot怎么嵌套子类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么嵌套子类文章都会有所收获,下面我们一起来看看吧。s
千家信息网最后更新 2024年11月17日springboot怎么嵌套子类
这篇文章主要介绍了springboot怎么嵌套子类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么嵌套子类文章都会有所收获,下面我们一起来看看吧。
springboot嵌套子类使用
在实际项目里,我们会使用到一个User用户含有子类Address、这种嵌套子类在开发中会遇到很多问题,现在主要针对前台和后台的开发问题进行整理。
实际Bean类
User类里含有Address类
public class User { private int userId; private String userName; private Address userAddress;}public class Address { private int addressId; private String city;//忽略get、set方法}
UserMapper.java 对于一对一
使用@Result注解,调用查询子类数据。
public interface UserMapper{ //one to one @Select("select * from user where userId = #{userId}") @Results({ @Result(id=true,column="userId",property="userId"), @Result(column="userName",property="userName"),@Result(column="userId",property="userAddress",one=@One(select="com.whale.mapper.AddressMapper.getAddressByUserId",fetchType= FetchType.EAGER))})public interface AddressMapper { @Select("select * from address where userId=#{userId}") public Address getAddressByUserId(int userId);}
前台使用bootstrap-table进行解析显示
在formmater里进行子类显示
columns: [{ checkbox : true }, { field: 'userId', title: '用户ID' }, { field: 'userName', title: '用户姓名' }, { field: 'userAddress', title: '地址', formatter : function(value,row, index){ //主要配置在这里 return value.city; } } ]
后台Controller转换成Json会出现 $ref
解决办法如下:
注意:
String jsonSting=JSON.toJSONString(result, SerializerFeature.DisableCircularReferenceDetect);
结果中出现$ref,先把JSONObject转换成String,然后再转换回JSONObject
@ResponseBody @RequestMapping("allUser") public String findALL(){ PageHelper.startPage(pageNumber,pageSize); ListuserList= userService.findAll(); PageInfo page=new PageInfo<>(userList); //取出查询结果 List rows = page.getList(); JSONObject result = new JSONObject(); int total = (int) page.getTotal(); result.put("total",total); result.put("rows",rows); String jsonSting=JSON.toJSONString(result, SerializerFeature.DisableCircularReferenceDetect); //结果中出现$ref,先把JSONObject转换成String,然后再转换回JSONObject JSONObject json= JSON.parseObject(jsonSting); System.out.println(json.toJSONString());}
注解在嵌套方法不生效问题
例如在service中方法如下
@PermissionAop @Override public ListgetList() { List list = this.list(); return list; } @Override public void test(){ this.getList(); System.out.println(""); }
controller中调用test()方法,test方法中调用切面方法,切面不生效,无法进入切面。
使用如下方式可解决该问题(启动类上需要添加
@EnableAspectJAutoProxy(exposeProxy = true))
@PermissionAop @Override public ListgetList() { List list = this.list(); return list; } @Override public void test(){ IPoiPermissionService service = (IPoiPermissionService) AopContext.currentProxy(); service.getList(); System.out.println(""); }
其中IPoiPermissionService为该service类实现的接口。
关于"springboot怎么嵌套子类"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"springboot怎么嵌套子类"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
子类
方法
问题
切面
用户
知识
结果
内容
前台
后台
实际
注解
篇文章
开发
查询
一对一
中方
价值
办法
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器传输文件服务
2012r2服务器的安装与配置
网络安全案例幼儿园
服务器 io 性能
嘉定区电话软件开发供应商有哪些
数据库中insert语句
汽车制造行业网络安全
程序与数据库密码连接
巨潮资讯网国泰安数据库
闵行区多功能软件开发私人定做
数据库错误954
网络安全在身边手
苏州互联网软件开发诚信服务
带网络安全模式杀毒软件
软件开发人员的痛点
电骡 服务器列表
环球互联网科技社
药智网数据库 电脑版
数据库二级题库
数据库索引的优缺点
网络安全应急管理工作报告
app软件开发java
西咸新区软件开发公司
xshell连接服务器老是失败
大同网络安全保卫大队
太仓管理软件开发备案
哈弗f7数据库
广州华多网络技术
等待服务器应答
在数据库中查询年龄