本项目中利用Maven进行项目管理,其负责管理需要融合的Jar包,例如数据驱动等等,pom.xml中进行定义,代码如下:
<!-- 数据库驱动 --><dependency><groupId>mysql </groupId><artifactId>mysql-connector-java </artifactId><version>5.1.21 </version></dependency>
需要加入特定功能的Jar包,可去 http://search.maven.org/ 进行搜索。例如加入hibernate-core的Jar,搜索后结果如下:
这时即可选取自己需要的组件的pom定义,然后将pom片段加入项目的pom.xml。Maven管理的Jar会自动下载,如果出现问题可将用户目录下的repository删除进行重新下载。
项目还需要对其他文件进行配置,如图:
但是在开发过程中,我们只需关注config.properties中的
hibernate.dialect = org.hibernate.dialect.MySQLDialectdriverClassName = com.mysql.jdbc.DrivervalidationQuery = SELECT 1jdbc_url = jdbc\:mysql\://localhost\:3306/sy?useUnicode\=true&characterEncoding\=UTF-8jdbc_username = rootjdbc_password = root
下一阶段,我们可以开始项目的编码工作。
整个项目的支撑程序被放在 src/main/java,前台呈现程序放在 src/main/webapp.
支撑程序的包被定义如下:
其中,我们应把重点集中在action、dao、model、pageModel、service包。
model是数据库表的实体映射集,换言之,model可通过Hibernate进行数据库中对象的持久化工作。如何将一个表利用Hibernate生成实体类的过程网上有很多相关资料,这里不再赘述。http://www.2cto.com/kf/201301/180948.html给出了一个例子,可参考。
=========================================================
Hibernate帮助我们实现了数据的持久化工作之后,我们的工作重心在哪里呢?简单来讲,应是处理数据访问、业务逻辑和页面逻辑。项目中便将各项工作分层,由dao、service和action分别完成。
以用户登录操作举个简单的例子:
1、UserAction负责安排对应的登录界面,即下面代码中的/admin/user.jsp,登录函数为public void login()。
@Action ( value = "userAction" , results = { @Result ( name = "user" , location = "/admin/user.jsp" ), @Result ( name = "showUserInfo" , location = "/user/userInfo.jsp" ) })public class UserAction extends BaseAction implements ModelDriven < User > {private static final Logger logger = Logger . getLogger ( UserAction . class );private User user = new User ();private UserServiceI userService ;public UserServiceI getUserService () {return userService ;}@Autowiredpublic void setUserService ( UserServiceI userService ) {this . userService = userService ;