当前位置:文档之家› SSH2_增删查改实例

SSH2_增删查改实例

SSH2 增删查改实例(0)软件和框架版本:MyEclipse 6.0.1Tomcat 6.0.14Sturts2 1.8Hibernate 3Spring 2.0Mysql 5.1(一)引入包(共73个,不一定都需要,但是我的项目是这么多,经过调试,有没包冲突)(二)创建数据库表建立数据库octtest,并创建user表,表里面一共4个字段:id,姓,名,年龄。

语句如下:create database octtest;user octtest;DROP TABLE IF EXISTS `users`;CREATE TABLE `users` (`id` int(10) unsigned NOT NULL,`firstname` varchar(50) NOT NULL,`lastname` varchar(50) NOT NULL,`age` int(10) unsigned NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;(三)用myeclipse 中自带的hibernate reverse engineering 工具,根据刚才创建的user表,自动生成实体User 和相应的User.hbm.xml配置文件。

1)在myeclipse中的<DB Browser>视图中创建连接数据库连接,如下图:填入mysql数据库相应的路径,用户名,密码等信息。

注意:这里要引入mysql-connector-java的jar包,需要从外部导入。

2)连接数据库正常后,选择octtest数据库中的user表,右键-》hibernate reverse engineering。

自动生成实体User 和相应的User.hbm.xml配置文件。

(正常情况下可以生成,但是笔者生成engineer有问题,所以只能够手动创建User类和相应的User.hbm.xml,,所以如果读者顺利创建,可跳过2a,2b两部)2a)创建User实体类User.javapackage com.bean;public class User {public Integer id;public String firstname;public String lastname;public int age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getFirstname() {return firstname;}public void setFirstname(String firstname) {this.firstname = firstname;}public String getLastname() {return lastname;}public void setLastname(String lastname) {stname = lastname;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}2b)创建User实体类对应的映射文件,这个映射文件作用是告诉hibernate要把这个User对象和数据库中的user表联系起来。

User.hbm.xml:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="er" table="users"><id name="id" type="ng.Integer" column="id"><generator class="increment"/></id><property name="firstname" type="string"column="firstname"/><property name="lastname" type="string" column="lastname"/><property name="age" type="ng.Integer"column="age"/></class></hibernate-mapping>(三)编写底层dao操作:对User实体操作,主要还是增删查改4个。

养成好习惯,无论是dao操作还是业务逻辑,最好都先用接口写好要用到的方法,再用实现类去实现。

dao接口:package com.dao;import java.util.List;import er;public interface UserDAO {public void saveUser(User user);public void removeUser(User user);public User findUserById(Integer id);public List<User> findAllUser();public void updateUser(User user);}dao实现:package com.dao.impl;import java.util.List;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;import er;import erDAO;public class UserDAOImpl extends HibernateDaoSupportimplements UserDAO {@SuppressWarnings("unchecked")public List<User> findAllUser() {String hql = "from User user order by user.id desc";return (List<User>) this.getHibernateTemplate().find(hql);}public User findUserById(Integer id) {User user = (User)this.getHibernateTemplate().get(User.class,id);return user;}public void removeUser(User user) {this.getHibernateTemplate().delete(user);}public void saveUser(User user) {this.getHibernateTemplate().save(user);}public void updateUser(User user) {this.getHibernateTemplate().update(user);}}(四)编写struts.xml applicationContext.xml web.xml配置文件。

其中,web.xml文件是可以一次写完。

struts.xml和applicationContext.xml 需要注意保存路径。

web.xml:(保存路径是:×××项目名/WebRoot/WEB-INF)<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app> ————————————————————————————————————————applicationContext.xml :(保存路径是:×××项目名/WebRoot/WEB-INF),这个是默认路径<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd"><bean id="dataSource" class="mons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/octtest"></property><property name="username" value="root"></property><property name="password" value="mysql"></property><property name="maxActive" value="100"></property><property name="maxIdle" value="30"></property><property name="maxWait" value="500"></property></bean><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property><property name="mappingResources"><list><value>com/bean/User.hbm.xml</value><!--<value>com/gzjs/updatewapi/entity/As_Active_CertBean.hbm.xml</value><value>com/gzjs/updatewapi/entity/Cert_DataBean.hbm.xml</value><value>com/gzjs/updatewapi/entity/Revoke_CertBean.hbm.xml</value><value>com/gzjs/updatewapi/entity/User.hbm.xml</value>--></list></property></bean><bean id="userDao" class="erDAOImpl" scope="singleton"><property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><bean id="userService" class="erServiceImpl"><property name="userDao"><ref bean="userDao"/></property></bean><bean id="saveUserAction" class="com.action.SaveUserAction" scope="prototype"><property name="userService"><ref bean="userService"/></property></bean><bean id="listUserAction" class="com.action.ListUserAction" scope="prototype"><property name="userService"><ref bean="userService"/></property></bean><bean id="showUserRecordAction" class="com.action.ShowUserRecordAction" scope="prototype"> <property name="userService"><ref bean="userService"/></property></bean><bean id="updateUserAction" class="com.action.UpdateUserAction" scope="prototype"><property name="userService"><ref bean="userService"/></property></bean><bean id="deleteUserAction" class="com.action.DeleteUserAction" scope="prototype"><property name="userService"><ref bean="userService"/></property></bean></beans>————————————————————————————————————————struts.xml :(保存路径是:×××项目名/WebRoot/WEB-INF/classes)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="user" extends="struts-default"><action name="saveUser" class="saveUserAction"><resultname="success"type="redirect">/listUser.action</result><result name="input">/save.jsp</result></action><action name="listUser" class="listUserAction"><result name="success">/listUser.jsp</result></action><action name="showUserRecord"class="showUserRecordAction"><result name="success">/showRecord.jsp</result></action><action name="updateUser" class="updateUserAction"><result name="success"type="redirect">/listUser.action</result><result name="input">/showRecord.jsp</result></action><action name="deleteUser" class="deleteUserAction"><result name="success"type="redirect">/listUser.action</result></action></package></struts>(五)编写action类,有两种方法,一种是crud每种操作一个action,另一种是crud集成到一个UserAction中。

相关主题