接口原生开发
开发工具: eclipse + win 10
开发框架: springmvc + hibernate
如何开发用户个人简历,下面用户个人简历的接口的逻辑代码。
@RequestMapping("/user/personalMsg")
public String personalMsg(HttpServletRequest request, ModelMap modelMap, String callback){
if(user != null) {
JSONObject jsonObject = new JSONObject();
user = commUserBiz.findModel(user.getId());//重查用户信息
long userId = user.getId();
String sql = "select a.real_name, " + " b.imgId" + " from vitae b, user a where a.id = b.user_id and a.id = " + userId; //联合查询
System.out.println(sql);
List<Object> objList = vitaeBiz.queryListByNative(sql);
String sqlImg = "select path from asg_resource where id = nike_img_id";
if(objList.size()!=0){
if(objList.size()==1){
for(Object obj: objList){
Object[] objs = (Object[]) obj;
long realName= CommUtil.null2Long(objs[0]);
long message= CommUtil.null2Long(objs[1]);
String sqlResource = "select path from resource where id ="+ ImgId;
String imgResource = (String)resourceBiz.queryByNative(sqlResource);
if(imgResource!=null)
imgResource = CommUtil.getStaticDomainImgUrl() + imgResource;//头像图片
jsonObject.put("nikeImg",imgResource);
jsonObject.put("realName", realName);
ret = CommUtil.jsonResult(true);
ret.put("contents", jsonObject);
}
}
}
}
补充:
1 @Autowired //autowired注解插入dao层
private ResourceBiz resourceBiz;
@Autowired
private VitaeBiz vitaeBiz;
2 @Controller //controller
@RequestMapping("/mobile")
public class CurrentUserManageAction
3 @Service("VitaeBizWeb") public class VitaeBiz extends CrudBiz<VitaeDao,Vitae>
4 原生查询方法.
public List<Object> queryListByNative(String sql) {
return dao.findListByNative(sql);
}
原生查询方法.
public List<Object> findListByNative(String sql) {
Query query = entityManager.createNativeQuery(sql);
return query.getResultList();
}
如果出现Null value was assigned to a property of primitive type setter of错误,那是由于类型不匹配,将实体类字段的属性由hibernate的int类型改为java.lang.Integer类型就行。