您的位置:首页 > 编程语言 > Java开发

Web项目Spring+hibernate+Spring mvc简单的添删改查

2016-09-14 17:13 435 查看
1.web项目的运行流程大致如下:    
    启动tomcat,先到web.xml里面查看<context-param><listener><filter><servlet>等等几个tag,查看里面的配置,查找相应的配置文件。
如下列文件所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
  <display-name>SpringMVC12</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:config/springAnnotation-*.xml</param-value>
  </context-param>
  
  
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
  <servlet>
   <servlet-name>springMVC</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:config/springAnnotation-servlet.xml</param-value>
    </init-param> 
    <load-on-startup>1</load-on-startup> 
  </servlet>
  
  <filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
   <param-name>forceEncoding</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>
 <!-- encoding filter for jsp page -->
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
  <servlet-mapping>
   <servlet-name>springMVC</servlet-name>
   <url-pattern>/</url-pattern>
  </servlet-mapping>
  
  <filter>
    <filter-name>openSession</filter-name>
    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  </filter>
  
  <filter-mapping>
   <filter-name>openSession</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

首先查看那几个标签,找到对应的配置文件,如<context-param>中配置的classpath*:config/springAnnotation-*.xml。

---------------------------------------2.到配置文件查看相关信息----------------------------------------------
(1)<context-param>里的classpath*:config/springAnnotation-*.xml,即在config目录下匹配springAnnotation-*.xml的文件



(1.1)查看springAnnotation-core.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"
[

<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">

]>

<beans>

 

 <import resource="classpath*:com/zyh/web/controller/spring/springAnnotation-import.xml"/>

</beans>

对应的路径如下com/zyh/web/controller/spring/springAnnotation-import.xml
(1.2)查看springAnnotation-import.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"
[

<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">

]>

<beans>

 <bean id="userDao" class="com.zyh.web.controller.dao.UserDAO">

  <property name="sessionFactory" ref="sessionFactory"></property>

 </bean>

 

 <bean id="userManagerBase" class="com.zyh.web.controller.service.UserManager">

  <property name="userDao" ref="userDao"></property>

 </bean>

 

 <bean id="userManager" parent="transactionBese">

  <property name="target" ref="userManagerBase"></property>

 </bean>

 

</beans>

对应关于就已经配置在容器里面了。

(2.1)查看springAnnotation-hibernate.xml(配置数据源,sessionFactory,和事物)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"
[

<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">

]>

<beans>

 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

  <property name="url" value="jdbc:mysql://localhost/test1?useUnicode=true"/>

  <property name="username" value="root"/>

  <property name="password" value="root"/>

 </bean>

 

 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

  <property name="dataSource" ref="dataSource"/>

  <property name="hibernateProperties">

   <props>

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>

    <prop key="hibernate.hbm2ddl.auto">update</prop> 

                <prop key="hibernate.show_sql">true</prop>

                <prop key="hiberante.format_sql">true</prop>

   </props>

  </property>

  <property name="configLocations">

   <list>

    <value>

     classpath*:com/zyh/web/controller/hibernate/hibernate.cfg.test.xml

    </value>

   </list>

  </property>

 </bean>

 

 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

  <property name="sessionFactory" ref="sessionFactory"></property>

 </bean>

 

 <bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">

  <property name="transactionManager" ref="transactionManager"></property>

  <property name="transactionAttributes">

   <props>

    <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="get*">PROPAGATION_NEVER</prop>

   </props>

  </property>

 </bean>

</beans>

 配置的对应的 classpath*:com/zyh/web/controller/hibernate/hibernate.cfg.test.xml

    

(3)springAnnotation-servlet.xml,内容如下

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"  

 xmlns:context="http://www.springframework.org/schema/context"  

 xmlns:p="http://www.springframework.org/schema/p"  

 xmlns:mvc="http://www.springframework.org/schema/mvc"  

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

 xsi:schemaLocation="http://www.springframework.org/schema/beans  

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

      http://www.springframework.org/schema/context  

      http://www.springframework.org/schema/context/spring-context.xsd  

      http://www.springframework.org/schema/mvc  

      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

     <!-- 注解扫描包 -->

 <context:component-scan base-package="com.zyh.web.controller" />

 <!-- 开启注解 -->

 

 <mvc:annotation-driven/>

 

 <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

 <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> -->

 <!-- 静态资源访问 -->

  <mvc:resources location="/img/" mapping="/img/**"/>  

  <mvc:resources location="/js/" mapping="/js/**"/>   

 

 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <property name="prefix" value="/"></property>

  <property name="suffix" value=".jsp"></property>

 </bean>

 

 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

    <property name="defaultEncoding" value="utf-8" />

       <property name="maxUploadSize" value="10485760000" />

       <property name="maxInMemorySize" value="40960" />

 </bean>

 </beans>  

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"  

xmlns:context="http://www.springframework.org/schema/context"  

xmlns:p="http://www.springframework.org/schema/p"  

xmlns:mvc="http://www.springframework.org/schema/mvc"  

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

xsi:schemaLocation="http://www.springframework.org/schema/beans  

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

      http://www.springframework.org/schema/context  

      http://www.springframework.org/schema/context/spring-context.xsd  

      http://www.springframework.org/schema/mvc  

      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

     <!-- 注解扫描包 -->

<context:component-scan base-package="com.zyh.web.controller" />

<!-- 开启注解 -->

<mvc:annotation-driven/>

<!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> -->

<!-- 静态资源访问 -->

  <mvc:resources location="/img/" mapping="/img/**"/>  

  <mvc:resources location="/js/" mapping="/js/**"/>   

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <property name="prefix" value="/"></property>

  <property name="suffix" value=".jsp"></property>

</bean>

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

    <property name="defaultEncoding" value="utf-8" />

       <property name="maxUploadSize" value="10485760000" />

       <property name="maxInMemorySize" value="40960" />

</bean>

</beans> 

springAnnotation-hibernate.xml<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"
[

<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">

]>

<beans>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

  <property name="url" value="jdbc:mysql://localhost/test1?useUnicode=true"/>

  <property name="username" value="root"/>

  <property name="password" value="root"/>

</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

  <property name="dataSource" ref="dataSource"/>

  <property name="hibernateProperties">

   <props>

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>

    <prop key="hibernate.hbm2ddl.auto">update</prop> 

                <prop key="hibernate.show_sql">true</prop>

                <prop key="hiberante.format_sql">true</prop>

   </props>

  </property>

  <property name="configLocations">

   <list>

    <value>

     classpath*:com/zyh/web/controller/hibernate/hibernate.cfg.test.xml

    </value>

   </list>

  </property>

</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

  <property name="sessionFactory" ref="sessionFactory"></property>

</bean>

<bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">

  <property name="transactionManager" ref="transactionManager"></property>

  <property name="transactionAttributes">

   <props>

    <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>

    <prop key="get*">PROPAGATION_NEVER</prop>

   </props>

  </property>

</bean>

</beans>

这个写的有点乱,理清思路,其实很简单,就是配置spring容器,里面扫描了所有的bean及一些依赖关系,hibernate配置数据源建立数据库连接,SessionFactory用于管理数据库,还有就是Springmvc用于控制视图与后台之间的页面转向,传递数据,发送请求。

配置工作就到此结束,然后就是写bean,dao,service,control与联系配置文件的对应关系,实际开发中当然不会把配置文件都写好才来写java代码。我的做法是同时进行,漏了就相应的加上。

-----------------------------------------------------------3对应的实现--------------------------------------

3.1 为了简单,我们建立一个单表的添删改查,就一个对象吧User,对应的表T_User,里面有userName和age两个属性,当然还要建立一个主键id,如下列代码所示:

com.zyh.web.controller.entity.User

package com.zyh.web.controller.entity;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity

@Table(name="T_USER")

public class User {

 @GeneratedValue(generator = "system-uuid")  

    @GenericGenerator(name = "system-uuid", strategy = "uuid") 

    @Column(length=32)

 @Id

 private String id;

 

 @Column(length=32)

 private String userName;

 

 @Column(length=32)

 private String age;

 

 public String getId() {

  return id;

 }

 public void setId(String id) {

  this.id = id;

 }

 public String getUserName() {

  return userName;

 }

 public void setUserName(String userName) {

  this.userName = userName;

 }

 public String getAge() {

  return age;

 }

 public void setAge(String age) {

  this.age = age;

 }

}

3.2 dao层结构如下:接口IUserDAO与实现类UserDAO,我们实现添删改查,查询包括一个User和所以User

com.zyh.web.controller.dao.IUserDAO

package com.zyh.web.controller.dao;

import java.util.List;

import com.zyh.web.controller.entity.User;

public interface IUserDAO {

 public void addUser(User user);

 

 public List<User> getAllUser();

 

 public User getUser(String id);

 

 public boolean delUser(String id);

 

 public boolean updateUser(User user);

}

实现类UserDAO:

package com.zyh.web.controller.dao;

import java.util.List;

import org.hibernate.Query;

import org.hibernate.SessionFactory;

import com.zyh.web.controller.entity.User;

public class UserDAO implements IUserDAO {

 private SessionFactory sessionFactory;

 public void setSessionFactory(SessionFactory sessionFactory) {

  this.sessionFactory = sessionFactory;

 }

 @Override

 public void addUser(User user) {

  // TODO Auto-generated method stub

  sessionFactory.getCurrentSession().save(user);

 }

 @Override

 public List<User> getAllUser() {

  // TODO Auto-generated method stub

  String hql = "from User";

  Query query =  sessionFactory.getCurrentSession().createQuery(hql);

  return query.list();

 }

 @Override

 public User getUser(String id) {

  // TODO Auto-generated method stub

  String hql = "from User u where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, id);

  return (User) query.uniqueResult();

 }

 @Override

 public boolean delUser(String id) {

  // TODO Auto-generated method stub

  String hql = "delete User u where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, id);

  return (query.executeUpdate()>0);

 }

 @Override

 public boolean updateUser(User user) {

  // TODO Auto-generated method stub

  String hql = "update User u set u.userName=?,u.age=? where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, user.getUserName());

  query.setString(1, user.getAge());

  query.setString(2, user.getId());

  return (query.executeUpdate()>0);

 }

}

3.3 service层结构如下:接口IUserManager与实现类UserManager,我们实现添删改查,查询包括一个User和所以User

com.zyh.web.controller.service.IUserManager

package com.zyh.web.controller.service;

import java.util.List;

import com.zyh.web.controller.entity.User;

public interface IUserManager {

 

 public void addUser(User user);

 

 public List<User> getAllUser();

 

 public boolean delUser(String id);

 

 public User getUser(String id);

 

 public boolean updateUser(User user);

}

实现类UserManager.java

package com.zyh.web.controller.service;

import java.util.List;

import com.zyh.web.controller.dao.IUserDAO;

import com.zyh.web.controller.entity.User;

public class UserManager implements IUserManager {

 

 private IUserDAO userDao;

 

 public void setUserDao(IUserDAO userDao) {

  this.userDao = userDao;

 }

 @Override

 public void addUser(User user) {

  // TODO Auto-generated method stub

  userDao.addUser(user);

 }

 @Override

 public List<User> getAllUser() {

  // TODO Auto-generated method stub

  return userDao.getAllUser();

 }

 @Override

 public boolean delUser(String id) {

  // TODO Auto-generated method stub

  return userDao.delUser(id);

 }

 @Override

 public User getUser(String id) {

  // TODO Auto-generated method stub

  return userDao.getUser(id);

 }

 @Override

 public boolean updateUser(User user) {

  // TODO Auto-generated method stub

  return userDao.updateUser(user);

 }

}

4.Control层结构如下:实现类UserController.java,代码如下:

package com.zyh.web.controller;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.zyh.web.controller.entity.User;

import com.zyh.web.controller.service.IUserManager;

@Controller

@RequestMapping("/user")

public class UserController {

 @Resource(name="userManager")

 private IUserManager userManager;

 

 @RequestMapping("/toAddUser")

 public String toAddUser(){

  return "/addUser";

 }

 

 @RequestMapping("/addUser")

 public String addUser(User user){

  userManager.addUser(user);

  return "redirect:/user/getAllUser";

 }

 

 @RequestMapping("/getAllUser")

 public String getAllUser(HttpServletRequest request){

  List<User> user = userManager.getAllUser();

  request.setAttribute("user", user);

  return "/userManager";

 }

 

 @RequestMapping("/delUser")

 public void delUser(String id,HttpServletResponse response){

  String result = "{\"result\":\"error\"}";

  if(userManager.delUser(id)){

   result = "{\"result\":\"success\"}";

  }

  response.setContentType("application/json");

  PrintWriter pw;

  try {

   pw = response.getWriter();

   pw.write(result);

  } catch (IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

 }

 

 @RequestMapping("/getUser")

 public String getUser(String id,HttpServletRequest request){

  User user = userManager.getUser(id);

  request.setAttribute("user", user);

  return "editUser";

 }

 

 @RequestMapping("/updateUser")

 public String updateUser(User user,HttpServletRequest request){

  if(userManager.updateUser(user)){

   userManager.getUser(user.getId());

   request.setAttribute("user", user);

   return "/editUser";

  }else{

   return "/error";

  }

 }

}

--
 
--
package com.zyh.web.controller;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.zyh.web.controller.entity.User;

import com.zyh.web.controller.service.IUserManager;

@Controller

@RequestMapping("/user")

public class UserController {

 @Resource(name="userManager")

 private IUserManager userManager;

 

 @RequestMapping("/toAddUser")

 public String toAddUser(){

  return "/addUser";

 }

 

 @RequestMapping("/addUser")

 public String addUser(User user){

  userManager.addUser(user);

  return "redirect:/user/getAllUser";

 }

 

 @RequestMapping("/getAllUser")

 public String getAllUser(HttpServletRequest request){

  List<User> user = userManager.getAllUser();

  request.setAttribute("user", user);

  return "/userManager";

 }

 

 @RequestMapping("/delUser")

 public void delUser(String id,HttpServletResponse response){

  String result = "{\"result\":\"error\"}";

  if(userManager.delUser(id)){

   result = "{\"result\":\"success\"}";

  }

  response.setContentType("application/json");

  PrintWriter pw;

  try {

   pw = response.getWriter();

   pw.write(result);

  } catch (IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

 }

 

 @RequestMapping("/getUser")

 public String getUser(String id,HttpServletRequest request){

  User user = userManager.getUser(id);

  request.setAttribute("user", user);

  return "editUser";

 }

 

 @RequestMapping("/updateUser")

 public String updateUser(User user,HttpServletRequest request){

  if(userManager.updateUser(user)){

   userManager.getUser(user.getId());

   request.setAttribute("user", user);

   return "/editUser";

  }else{

   return "/error";

  }

 }

}

 
 

 

 

 

package com.zyh.web.controller.service;

import java.util.List;

import com.zyh.web.controller.dao.IUserDAO;

import com.zyh.web.controller.entity.User;

public class UserManager implements IUserManager {

 

 private IUserDAO userDao;

 

 public void setUserDao(IUserDAO userDao) {

  this.userDao = userDao;

 }

 @Override

 public void addUser(User user) {

  // TODO Auto-generated method stub

  userDao.addUser(user);

 }

 @Override

 public List<User> getAllUser() {

  // TODO Auto-generated method stub

  return userDao.getAllUser();

 }

 @Override

 public boolean delUser(String id) {

  // TODO Auto-generated method stub

  return userDao.delUser(id);

 }

 @Override

 public User getUser(String id) {

  // TODO Auto-generated method stub

  return userDao.getUser(id);

 }

 @Override

 public boolean updateUser(User user) {

  // TODO Auto-generated method stub

  return userDao.updateUser(user);

 }

}

--
package com.zyh.web.controller.service;

import java.util.List;

import com.zyh.web.controller.entity.User;

public interface IUserManager {

 

 public void addUser(User user);

 

 public List<User> getAllUser();

 

 public boolean delUser(String id);

 

 public User getUser(String id);

 

 public boolean updateUser(User user);

}

 
--
3.2 dao层结构如下:接口IUserDAO与实现类UserDAO,我们实现添删改查,查询包括一个User和所以User
com.zyh.web.controller.dao.IUserDAO
--
package com.zyh.web.controller.dao;

import java.util.List;

import org.hibernate.Query;

import org.hibernate.SessionFactory;

import com.zyh.web.controller.entity.User;

public class UserDAO implements IUserDAO {

 private SessionFactory sessionFactory;

 public void setSessionFactory(SessionFactory sessionFactory) {

  this.sessionFactory = sessionFactory;

 }

 @Override

 public void addUser(User user) {

  // TODO Auto-generated method stub

  sessionFactory.getCurrentSession().save(user);

 }

 @Override

 public List<User> getAllUser() {

  // TODO Auto-generated method stub

  String hql = "from User";

  Query query =  sessionFactory.getCurrentSession().createQuery(hql);

  return query.list();

 }

 @Override

 public User getUser(String id) {

  // TODO Auto-generated method stub

  String hql = "from User u where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, id);

  return (User) query.uniqueResult();

 }

 @Override

 public boolean delUser(String id) {

  // TODO Auto-generated method stub

  String hql = "delete User u where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, id);

  return (query.executeUpdate()>0);

 }

 @Override

 public boolean updateUser(User user) {

  // TODO Auto-generated method stub

  String hql = "update User u set u.userName=?,u.age=? where u.id=?";

  Query query = sessionFactory.getCurrentSession().createQuery(hql);

  query.setString(0, user.getUserName());

  query.setString(1, user.getAge());

  query.setString(2, user.getId());

  return (query.executeUpdate()>0);

 }

}

 

 

 

 

package com.zyh.web.controller.dao;

import java.util.List;

import com.zyh.web.controller.entity.User;

public interface IUserDAO {

 public void addUser(User user);

 

 public List<User> getAllUser();

 

 public User getUser(String id);

 

 public boolean delUser(String id);

 

 public boolean updateUser(User user);

}

--
package com.zyh.web.controller.entity;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity

@Table(name="T_USER")

public class User {

 @GeneratedValue(generator = "system-uuid")  

    @GenericGenerator(name = "system-uuid", strategy = "uuid") 

    @Column(length=32)

 @Id

 private String id;

 

 @Column(length=32)

 private String userName;

 

 @Column(length=32)

 private String age;

 

 public String getId() {

  return id;

 }

 public void setId(String id) {

  this.id = id;

 }

 public String getUserName() {

  return userName;

 }

 public void setUserName(String userName) {

  this.userName = userName;

 }

 public String getAge() {

  return age;

 }

 public void setAge(String age) {

  this.age = age;

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐