Spring与Hibernate Dao中操作数据库的另外方式
来源:互联网 发布:部队mdm软件下载 编辑:程序博客网 时间:2024/06/10 07:08
-
- public List searchPerson(final String firstname, final String lastname) {
- return getHibernateTemplate().executeFind(new HibernateCallback() {
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException {
- List list = new ArrayList();
- String sql = " select pid,firstname,lastname from person where firstname like '"
- + firstname
- + "%' and lastname like '"
- + lastname
- + "%' order by lastname;";
- PreparedStatement pstmt = null;
- Connection conn = null;
- ResultSet rs = null;
- try {
- conn = session.connection();
- pstmt = conn.prepareStatement(sql);
- rs = pstmt.executeQuery();
- while (rs != null && rs.next()) {
- String pid = rs.getString(1);
- String firstname = rs.getString(2);
- String lastname = rs.getString(3);
- Person person = new Person();
- person.setPid(pid);
- person.setFirstname(firstname);
- person.setLastname(lastname);
- list.add(person);
- }
- } catch (Exception e) {
- log.error(e);
- } finally {
- try {
- if (rs != null)
- rs.close();
- } catch (Exception e) {
- log.error(e);
- } finally {
- try {
- if (pstmt != null)
- pstmt.close();
- } catch (Exception e) {
- log.error(e);
- }
- }
- }
- return list;
- }
- });
- }