hibrenate 中多对多的查询方法
来源:互联网 发布:模拟小提琴演奏软件 编辑:程序博客网 时间:2024/05/14 18:47
public Forward login(HttpServletRequest request, HttpServletResponse response) throws IOException{
int pageNo=Integer.parseInt(request.getParameter("page"))-1;
int pageSize=Integer.parseInt(request.getParameter("rows"));
String username=request.getParameter("username");
String password=request.getParameter("password");
String bookname=request.getParameter("bookname");
//BookInfo b1=new BookInfo();
UserImpl u=new UserImpl();
//b1=u.getBook(bookname);
Page<User> page=u.getUser(pageNo, pageSize, username, password);
List<User> list=page.getResults();
//多对多的查询的方法使用
List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
if(list!=null)
{
maps = new ArrayList<Map<String, Object>>(
list.size());
StringBuilder roles = new StringBuilder();
StringBuilder role = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = new LinkedHashMap<String, Object>();
User u1 = list.get(i);
map.put("id", u1.getUserid());
map.put("username", u1.getUsername());
Set<BookInfo> s=u1.getUser_book();
Iterator<BookInfo> it = s.iterator();
while (it.hasNext()) {
BookInfo bi = it.next();
roles.append(bi.getBookname()+" ");
role.append(bi.getBookpublisher()+" ");
}
// 输出该对象所有的信息
/*Iterator<BookInfo> it = u1.getUser_book().iterator();
while(it.hasNext()){
BookInfo bi = it.next();
roles.append(bi.getBookname()+" ");
role.append(bi.getBookinfoid()+" ");
}*/
map.put("bookname", roles.toString());
map.put("publisher", role.toString());
roles.replace(0, roles.length(), "");//清空上次的数据
role.replace(0, role.length(), "");
map.put("address",u1.getAddress());
map.put("password",u1.getPassword());
map.put("disabled", (u1.getUserstate()).equals("0") ? "启用" : "禁用");// 0启用,1禁用
maps.add(map);
}
}
WebUtils.writeJsonPage(response,page.getCount(), maps);
return null;
}
多对多保存的时候用到的情况
String [] bookid=request.getParameterValues("bookid");
Set<BookInfo> bo=new HashSet<BookInfo>();
if(bookid!=null)
{
for(int i=0;i<bookid.length;i++)
{
BookInfo b1=HibernateUtil.getObject(BookInfo.class,Integer.parseInt( bookid[i]));
bo.add(b1);
}
}
u.setUser_book(bo);
- hibrenate 中多对多的查询方法
- Hibrenate中如何使用Like进行查询
- Spring+Hibrenate中findByCriteria(criteria, start, limit)查询重复的问题解决
- Hibrenate 查询缓存
- hibrenate使用select语句查询多张表的部分字段,并封装到一个实体类(无配置文件)中
- Hibrenate many-to-many映射时,用Set中元素做条件查询
- 对Dataset 进行查询的几中方法。
- Hibernate双向多对多查询方法
- Mybaits中一对多,多对多的查询使用
- MyBatis中多对多关系的映射和查询
- MyBatis中多对多关系的映射和查询
- MyBatis中多对多关系的映射和查询
- Django models中多对多字段的反查询
- Django中多对多查询方式
- hibernate中多对一映射查询
- 在thinkphp框架中如何对多表进行操作(thinkphp多表查询方法)
- Elasticsearch中同时实现对某一字段的精确查询和模糊查询的方法
- EF中一种简单的多条件动态查询方法
- Poj3723 最大权森林
- ORACLE查询当前最早的事务的开始时间
- 孙其功陪你学之——Spark 正则化和SparkSQL
- JVM调优总结(九)-新一代的垃圾回收算法
- 如何在Xcode6中添加pch(Precompile Prefix Header)
- hibrenate 中多对多的查询方法
- 在更新了java jdk以后遇到的问题
- 数组试题---在一个先增长后减小的数组中找到最大值 .
- 集合框架四:LinkedList基本应用(用LinkedList模拟堆栈或队列的数据结构)
- 安卓开发环境配置
- 求第一次只出现一次的字符(只要求遍历一遍)
- web分页显示功能
- Python简介
- 黑马程序员-JAVA.Collections-基本集合使用