首页 > 程序开发 > 综合编程 > 其他综合 >

springmvc+hibernate基础学习二

2017-02-20

springmvc+hibernate基础学习二, 1 还可以用@Resource,默认按名字name装配,如果指明type则按类型装配,2 使用@Autowired注释进行byType注入,如果需要byName(byName就是通过id去标识)注入,增加@Qualifier注释。

1.在视图层上

<%@ page language="java" contentType="text/html; charset=utf-8"

pageEncoding="utf-8"%>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<% String path = request.getContextPath(); %>姓名 密码

${user.name }${user.pass }

2.在控制层上(UserAction类)

//标注此类处于控制层

@Controller

//规定网页访问该控制层模块的url

@RequestMapping(value=Path.USER)

public class UserAction {

//业务接口注入的注解之一,根据类型自动装配对应内容

//1.还可以用@Resource,默认按名字name装配,如果指明type则按类型装配,2.使用@Autowired注释进行byType注入,如果需要byName(byName就是通过id去标识)注入,增加@Qualifier注释

@Autowired

private UserManager userManager;

/**

*

* @param flag网页到后台传参的方法之一,对应从网页传过来的参数,可有多个,但要一一对应

* @param request和response一样,用到什么写什么

* @return 返回此时需要跳转的url

* @throws Exception

*/

//在此模块下的网页的实际url

@RequestMapping(value=Path.INDEX,method=RequestMethod.POST)

public String getAllUsers(String flag, HttpServletRequest request) throws Exception{

System.out.println("flag="+ flag);

if(flag != null && flag.equals("search")){

}

else{

request.setAttribute("userList", userManager.getAllUser());

}

return Path.INDEX;

}

}

3.在持久层上(UserDao)

我这里没有业务逻辑层,如果有的话,则是业务逻辑层调用持久层

//用于标注业务逻辑层,即service层

@Service

public class UserServiceImpl implements UserService {

}

//用于标注数据访问层,即DAO层

@Repository

public class UserDao implements IUserDao{

@Autowired

private SessionFactory sessionFactory;

@Override

public List searchUser(String name) {

// TODO Auto-generated method stub

String hql = "from User";

Session session = sessionFactory.getCurrentSession();

Query query = session.createQuery(hql);

// session.getTransaction().commit();

List list = query.list();

List res = new ArrayList<>();

LuceneUtil lu = new LuceneUtil();

System.out.println("---------------------");

try {

lu.IndexBuilder(list);

TopDocs hits = lu.search(name); // 输入查询内容后,查询

ScoreDoc[] scoreDocs = hits.scoreDocs;

for (int i = 0; i < scoreDocs.length; i++) { // 返回查询后结果

int docId = scoreDocs[i].doc;

Document document = lu.iSearcher.doc(docId);

System.out.println("(" + i + ")" + document.toString());

res.add(new User(Integer.parseInt(document.get("ID")), document.get("Name"), document.get("Pass")));

// System.out.println(document.get("ID"));

// System.out.println(document.get("Name"));

// System.out.println(document.get("Pass"));

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return res;

}

}
相关文章
最新文章
热点推荐