成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Eclipse整合JPA + Struts 2 + Spring 2 + AJAX開發淺析

開發 后端
本文介紹了使用Eclipse整合JPA + Struts 2 + Spring 2 + AJAX開發過程,包括Tomcat等環境的配置、MySQL安裝等知識。

Tomcat

首先要安裝好Tomcat,如果在安裝的時候遇到任何問題,請查看Tomcat的安裝指南

MySql

安裝并配置MySQL。創建一個名為“quickstart”的數據庫,并運行下面腳本來創建“Person”表。后面在applicationContext.xml里,我們將使用"root"數據庫用戶名和密碼,記得用你自己的數據庫設置來替換它們。

CREATE TABLE 'quickstart'.'Person'
(  'id' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
'firstName' VARCHAR(45) NOT NULL,
'lastName' VARCHAR(45) NOT NULL,
PRIMARY KEY('id'))ENGINE = InnoDB;

注:上面的DDL需要保存在文件中,然后在MySQL中導入。我直接復制然后在查詢分析器中執行失敗創建Eclipse項目打開Eclipse,我是認真的,你必須打開Eclipse 點擊File -> New -> Project. 選擇"Dynamic Web Project"并點擊下一步(注:如果使用MyEclipse,這里不太一樣) 輸入項目名,這里我使用"quickstart"。這個項目將要在Tomcat中運行,所以我們需要為它創建應用服務器配置 在"Target Runtime"下面點擊"New",選擇"Apache Tomcat5.5"并點擊下一步 輸入Tomcat的安裝路徑并選擇一下已安裝的JRE(需要1.5) 現在你應該回到了項目創建向導,并且Tomcat是你的Target Runtime。點擊下一步,選擇"Dynamic Web Module"和"Java"facets,最后點"finish"。 (上面講的都是Eclipse WTP中的配置,如果使用MyEclipse請自行修正)庫依賴關系你的項目應該包含"src","build"和"WebContent"目錄。我們把所有必需的jar文件放在"/WebContent/WEB-INF/lib"目錄下。請復制它們到${workspace}\quickstart\WebContent\WEB-INF\lib目錄。jar文件名的版本號已經被去除了!Jar From xwork.jar Struts 2 struts2-api.jar Struts 2 struts2-core.jar Struts 2 struts2-Spring-plugin.jar Struts 2 ognl.jar Struts 2 freemarker-2.3.4.jar Struts 2 mysql-connector-java.jar MySql JDBC Driver spring.jar Sping 2.0 antlr.jar Hibernate Core asm.jar Hibernate Core asm-attrs.jar Hibernate Core cglib.jar Hibernate Core dom4j.jar Hibernate Core jdbc2_0-stdext.jar Hibernate Core ehcache.jar Hibernate Core hibernate3.jar Hibernate Core xml-apis.jar Hibernate Core commons-collections.jar Hibernate Core ejb3-persistence.jar Hibernate Annotations jta.jar Hibernate Annotations hibernate-annotations.jar Hibernate Annotations hibernate-entitymanager.jar Hibernate Entity Manager javassist.jar Hibernate Entity Manager jboss-archive-browsing.jar Hibernate Entity Manager 右擊項目點“刷新”,通知Eclipse我們加入了很多的jar文件。我使用Struts2.0.6, Spring2.0.3, Hibernate3.2。struts2-api.jar找不到,沒有也可以運行成功;Hibernate Annotations和Hibernate Entity Manager需要在Hibernate的主頁上下載,不包括在Core里面;另外jta.jar和javassist.jar在Hibernate Tools里面,同樣要下載;最后,上面列表并缺少一個包,因為Hibernate3.2對此有一點小小的修改,你需要把Hibernate Annotations里面的hibernate-commons-annotations.jar拷貝進來。領域模型我們的領域模型只有一個簡單的"Person"類,它包含少量的實例變量。創建一個新類并命名為"Person",然后輸入"quickstart.model"作為包名。 添加"id"(int), "firstName"(String)和"lastName"(String)三個實例變量,并為它們加上setter/getter方法。 為你的類加上"@Entity"annotation,給"id" 加上 "@Id"和"@GeneratedValue" 注解 你的類如下:
Person.javapackage quickstart.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entitypublic
class Person
{
@Id
@GeneratedValue
private Integer id;
private String lastName;
private String firstName;
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
}

@Entity讓JPA服務Provider知道這個類可以被持久化。@Id標識"id"域為這個類的主鍵,@GeneratedValue使id域被提供者(Hibernate)自動生成。類和實例變量默認都被映射到同名的表和列上,詳細情況請查看JPA文檔。Person service.我們現在來寫對"Person"對象進行CRUD操作的類。創建一個接口,命名為"PersonService",包名為"quickstart.service" PersonService.java
package quickstart.service;
import java.util.List;
import quickstart.model.Person;
public interface PersonService
{
public List findAll();
public void save(Person person);
public void remove(int id);
public Person find(int id);
}

@Entity讓JPA服務Provider知道這個類可以被持久化。@Id標識"id"域為這個類的主鍵,@GeneratedValue使id域被提供者(Hibernate)自動生成。類和實例變量默認都被映射到同名的表和列上,詳細情況請查看JPA文檔。Person service.我們現在來寫對"Person"對象進行CRUD操作的類。創建一個接口,命名為"PersonService",包名為"quickstart.service" PersonService.java

2. 創建一個類,命名為"PersonServiceImpl",包名為"quickstart.service" PersonServiceImpl.java

package quickstart.service;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.springframework.transaction.annotation.Transactional;
import quickstart.model.Person;
@Transactional
public class PersonServiceImpl implements PersonService {
private EntityManager em;
@PersistenceContext
public void setEntityManager(EntityManager em) {
this.em = em;
}
@SuppressWarnings("unchecked")
public List findAll() {
Query query = getEntityManager().createQuery("select p FROM Person p");
return query.getResultList();
}
public void save(Person person) {
if (person.getId() == null) {
// new
            em.persist(person);
} else {
// update
            em.merge(person);
}
}
public void remove(int id) {
Person person = find(id);
if (person != null) {
em.remove(person);
}
}
private EntityManager getEntityManager() {
return em;
}
public Person find(int id) {
return em.find(Person.class, id);
}
}

@PersistenceContext會讓Spring在實例化的時候給服務注入一個EntityManager。@PersistenceContext注解可以放在實例變量,或者setter方法前面。如果一個類被注解為@Transactional,Spring將會確保類的方法在運行在一個事務中。

您正在閱讀:Eclipse整合JPA + Struts 2 + Spring 2 + AJAX開發淺析

【編輯推薦】

  1. Eclipse中10個最有用的快捷鍵組合
  2. Eclipse提高工作效率的好習慣
  3. Eclipse代碼探測插件nWire 1.1版發布
責任編輯:張攀 來源: IT168
相關推薦

2009-07-17 17:45:56

iBATIS Spri

2011-05-19 09:52:48

SSH

2011-07-18 14:43:40

JSON模擬加載初析

2009-06-03 14:19:34

Struts2Guice

2010-07-30 16:04:17

Flex2struts

2009-09-01 11:20:11

Struts 2AJAX支持

2011-05-13 09:53:02

strutsAjax

2009-06-19 10:00:37

Struts和Spri

2009-09-22 13:02:05

ibmdwStruts

2010-02-06 15:28:12

ibmdwStrutsREST

2009-06-25 17:13:51

jBPM與Spring

2012-12-18 16:18:06

2009-07-14 14:41:33

Webwork與Spr

2009-07-14 13:55:24

MyEclipse S

2009-06-26 17:15:44

Struts2

2009-06-01 15:32:30

EclipseJPA入門

2010-09-29 14:10:18

J2ME SDK

2012-03-06 11:25:40

ibmdw

2009-07-29 09:54:34

struts2和str

2009-06-23 16:29:51

JSFSpring MVCStruts 2
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品1区2区 | 日韩一区二区三区视频在线观看 | 激情一区二区三区 | 欧美激情一区二区三级高清视频 | 欧美性一级 | av官网在线 | 91在线一区二区三区 | 91久久国产精品 | 久久这里只有精品首页 | 国产伦精品一区二区三区高清 | 激情黄色在线观看 | 激情网站在线观看 | 成人免费看黄 | 国产美女视频黄 | 欧美一区二区三区在线视频 | 久久精品久久久 | 欧美自拍另类 | 亚洲精品国产一区 | 中文字幕在线精品 | 国产1区2区3区 | 天天夜夜人人 | 午夜三区| 欧美不卡网站 | 日韩av在线免费 | av在线电影网 | 精品久久久久久久人人人人传媒 | 亚洲午夜精品久久久久久app | 免费在线观看一区二区 | 成人影音 | 精品福利在线 | 国产精品久久国产精品 | 亚洲欧美日本在线 | 人人九九 | 久草新在线 | 日韩一区二区在线看 | 欧美成人第一页 | 久久久久国 | 天天综合国产 | 日日夜夜精品视频 | 免费同性女女aaa免费网站 | 国产精品夜夜夜一区二区三区尤 |