亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jpa開發(fā).txt

?? jpa開發(fā)
?? TXT
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
JPA日志:The logging utility is based on the java.util.logging. This utility provides you with nine levels of logging control over the amount and detail of the log output. Note that, as logging is not part of the JPA specification, the information the log output provides is TopLink JPA-specific.
要培植在persistence.xml中
<property name="toplink.logging.level" value="FINE" /> 



一、JPA介紹
  JavaEE的是企業(yè)級(jí)應(yīng)用規(guī)范,JPA(Java Persistence API)作為Java EE 5.0平臺(tái)標(biāo)準(zhǔn)的ORM規(guī)范,將得到所有Java EE服務(wù)器的支持。Sun這次吸取了之前EJB規(guī)范慘痛失敗的經(jīng)歷,在充分吸收現(xiàn)有ORM框架的基礎(chǔ)上,得到了一個(gè)易于使用、伸縮性強(qiáng)的ORM規(guī)范。從目前的開發(fā)社區(qū)的反應(yīng)上看,JPA受到了極大的支持和贊揚(yáng),JPA作為ORM領(lǐng)域標(biāo)準(zhǔn)化整合者的目標(biāo)應(yīng)該不難實(shí)現(xiàn)。Sun引入新的JPA ORM規(guī)范出于兩個(gè)原因:其一,簡(jiǎn)化現(xiàn)有Java EE和Java SE應(yīng)用的對(duì)象持久化的開發(fā)工作;其二,Sun希望整合對(duì)ORM技術(shù),實(shí)現(xiàn)天下歸一。  

二、glassfish安裝配置與使用

1. glassfish介紹
   由SUN公司的GlassFish社團(tuán)開發(fā),Glassfish JPA - 一個(gè)基于 Oracle’s TopLink ORM framework 的開源項(xiàng)目。GlassFish(水晶魚)是一個(gè)免費(fèi)、開放源代碼的應(yīng)用服務(wù),它實(shí)現(xiàn)了Java EE 5。 Java EE 5 平臺(tái)包括了以下最新技術(shù):EJB 3.0,JSF 1.2,Servlet 2.5,JSP 2.1,JAX-WS 2.0,JAXB 2.0, Java Persistence 1.0, Common Annonations 1.0, StAX 1.0 等。

     GlassFish雖然是一個(gè)標(biāo)準(zhǔn)的Java EE服務(wù)器,但是它同樣具有輕便的Web容器的優(yōu)點(diǎn),它和Tomcat一樣是優(yōu)秀的Servlet容器,同時(shí),它具備延遲加載的功能,也就是說(shuō), GlassFish在啟動(dòng)時(shí)只會(huì)啟動(dòng)一些必需的核心服務(wù)項(xiàng),如Local JNDI服務(wù),用于管理的JMX服務(wù)等,而對(duì)于暫時(shí)用不到的服務(wù)通通不予加載,直到需要的時(shí)候再說(shuō),而且這個(gè)特性不需要額外的配置。這樣 GlassFish的啟動(dòng)時(shí)間是以前的一半,內(nèi)存占用也只有以前的一半。
    GlassFish的另外一個(gè)秘密武器,就是Grizzly,Grizzly是一個(gè)基于Java NIO(New IO)技術(shù),并完全以Java實(shí)現(xiàn)的一個(gè)HTTP的Listener,有了Grizzly,GlassFish在靜態(tài)文件傳輸方面的性能比Tomcat要 強(qiáng)得多,而且可以支持更多的并發(fā)訪問(wèn)。我們可以拋棄JBoss+Tomcat和Apache+Tomcat這樣的組合了。

      
   D:\Program\glassfish\lib\ant\bin下自帶了一個(gè)ant

2. 下載: 
    JDK 5.0. http://java.sun.com/j2se/1.5.0/download.jsp
    Java EE 5.0 App Server: https://glassfish.dev.java.net/public/downloadsindex.html; http://java.net/download/javaee5/v2_branch/promoted/WINNT/glassfish-installer-v2-b58g.jar
  
3. 安裝
    1)設(shè)置環(huán)境變量
	GLASSFISH_HOME=D:\Program\glassfish    
	path=%GLASSFISH_HOME%\bin
    2) java -jar *.jar 可解壓出一個(gè)目錄
    3) ant -f setup.xml 再安裝
    4) 系統(tǒng)默認(rèn)的 administration 屬性值有: 
	domain.name="domain1" 
	instance.name="server" 
	admin.user="admin" 
	admin.password="adminadmin" 
	admin.port="4848" 
	instance.port"="8080" 
	orb.port="3700" 
	imq.port="7676" 
	https.port="8181" 
  
4. 啟動(dòng)與停止
  $GLASSFISH_HOME/bin/asadmin start-domain domain1
                      asadmin stop-domain domain1 
5. 配置與myEclipse的連接
   一切按默認(rèn)配置后,啟動(dòng),報(bào)幾個(gè)jar沒有找到,沒關(guān)系,在GlassFish1-paths-Append to ClassPath中導(dǎo)入javaee.jar/jmac-api.jar即可。

5. 訪問(wèn)
  web應(yīng)用目錄:http://localhost:8080/
  管理控制臺(tái):http://localhost:4848/  用戶名:密碼=admin:adminadmin

6. 部署應(yīng)用程序
  拷貝 hello.war domains/domain1/autodeploy/
  訪問(wèn):http://localhost:8080/hello/index.jsp
  也可用命令:
    asadmin deploy jpa.war
    asadmin undeploy h.war
  部署出錯(cuò),要訪問(wèn)日志文件:
    D:\Program\glassfish\domains\domain1\logs\server.log

7. Derby數(shù)據(jù)庫(kù)
  Glassfish App Server捆綁了一個(gè)數(shù)據(jù)庫(kù)叫Derby,是一個(gè)理想的,并且開源的,100% Java編寫的,容易管理的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它可以和一些商業(yè)產(chǎn)品的特性進(jìn)行交付。這篇文章是關(guān)注Apache Derby項(xiàng)目

  配置環(huán)境變量:    
    DERBY_HOME=D:\Program\glassfish\javadb
    PATH=%DERBY_HOME%\bin

  啟動(dòng)命令是: $GLASSFISH_HOME/bin/asadmin start-database   --不要加;
  停止命令是:$GLASSFISH_HOME/bin/asadmin stop-database

  創(chuàng)建一個(gè)叫accp數(shù)據(jù)庫(kù),并建立連接
   ij> connect 'jdbc:derby://localhost:1527/accp;create=true';
  然后運(yùn)行建表語(yǔ)句的sql文件
   ij> run 'abc.sql';
  直接建表,sql通用
    SHOW SCHEMAS;
    SHOW [ TABLES | VIEWS | PROCEDURES | SYNONYMS ] { IN schema }
    DESCRIBE name;

三、javaSe開發(fā)
   1. 新建java項(xiàng)目
      導(dǎo)入javaee.jar,jmac-api.jar,toplink-essentials.jar,toplink-essentials-agent.jar,derbyclient.jar
   2. 建庫(kù)建表
     asadmin start-database
     ij> connect 'jdbc:derby://localhost:1527/accp;create=true';
     create table users(pk1 int not null primary key , userid varchar(20), PASSWORD varchar(20));
     show tables;
     show tables in app;
     descrbite user;

   3. 寫個(gè)普通的javaBean
	@Entity
	@Table(name="users")
	 public class User implements Serializable {
	 private int pk1;
	 private String userid;
	 private String password;
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Id
	@Column(name = "pk1")
	public int getPk1() {
		return pk1;
	}
	public void setPk1(int pk1) {
		this.pk1 = pk1;
	}
	@Column(name = "userid")
	public String getUserid() {
		return userid;
	}
	public void setUserid(String userid) {
		this.userid = userid;
	}
	}
   4. 寫個(gè)UserDao
        public class UserDao {
	//Apache Derby數(shù)據(jù)庫(kù)提供2類JDBC驅(qū)動(dòng)程序:Embedded 
	//Driver(org.apache.derby.jdbc.EmbeddedDriver)和Client/Server 
	//Driver(org.apache.derby.jdbc.ClientDriver)
	private static final EntityManagerFactory emf; 
	private static EntityManager em;
	static {
		emf = Persistence.createEntityManagerFactory("aa"); 
		if (em == null) 
			em = emf.createEntityManager();
	}
	  //主鍵查詢
	  public void find(int uid){
	     User u = em.find(User.class, uid);
	     System.out.println(u.getUserid()+"\t"+u.getPassword());
	  }
	  //保存
	  public void persist(User u) {
		em.getTransaction().begin();
		em.persist(u);
		em.getTransaction().commit();
	  } 
	  //刪除
	  public void remove(int uid) {
		User u = em.find(User.class, uid);
		em.getTransaction().begin();
		em.remove(u);
		em.getTransaction().commit();
	  } 
	  //更新
	  public void merge(int uid) {
		User u = em.find(User.class, uid);
		u.setPassword("888");
		em.getTransaction().begin();
		em.merge(u);
		em.getTransaction().commit();
	  } 
	  //查找所有的
	  @SuppressWarnings("unchecked")
		public void findAll() {
			String sql = "select u from User u";
			List<User> list = em.createQuery(sql).getResultList();
			for(User u : list) 
				System.out.println(u.getUserid()+"\t"+u.getPassword());
		}
	public static void main(String[] args) {
		UserDao udao = new UserDao();
		//udao.find(1);
		User u = new User();
		u.setUserid("abc");
		u.setPassword("123");
		u.setPk1(3);
		//udao.persist(u);
		//udao.remove(3);
		//udao.merge(3);
		udao.findAll();
	}
   5. 在java項(xiàng)目中新建META-INF目錄,再新建persistence.xml
	<?xml version="1.0" encoding="UTF-8"?>
	<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	  <persistence-unit name="aa">
	    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
		<class>org.accp.User</class>
		<properties>
			<property name="toplink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver" />
			<property name="toplink.jdbc.url" value="jdbc:derby://localhost:1527/accp;create=true" />
			<property name="toplink.jdbc.user" value="app" />
			<property name="toplink.jdbc.password" value="app" />
		</properties>
	  </persistence-unit>
	</persistence>

四、web項(xiàng)目開發(fā)
   1. 在derby數(shù)據(jù)庫(kù)中創(chuàng)建表與數(shù)據(jù)
   CREATE TABLE users (
        pk1 int,
	userid VARCHAR(20),
	password varchar(20));
   INSERT INTO users values(1,'張三','123');
   INSERT INTO users values(2,'李四','123');
   -------------------------------------------
   2. 新建web應(yīng)用程序
   導(dǎo)入jpa的jar包,javaee.jar

   3. 寫Entity類
   Entity類實(shí)際上是一個(gè)JavaBean,它表示了一個(gè)數(shù)據(jù)庫(kù)中的表.類中使用了以下3個(gè)annotation.
	@Entity: 指定這個(gè)類為Entity. 
	@Table : 指定mapping的表. 
	@Id : 指定表中的主鍵.
   寫類
	import java.io.Serializable;
	import javax.persistence.Entity;
	import javax.persistence.Id;
	import javax.persistence.Table;
	   
	@Entity
	@Table(name="users")
	 public class User implements Serializable {
	 private int pk1;
	 private String userid;
	 private String password;

	 @Id
	 public String getPk1() {
	     return pk1;
	 }
	 public String getUserid() {
	     return this.userid;
	 }
	 public void setPk1(int pk1) {
	     this.pk1 = pk1;
	 }
	 ......
	 }
   4. 數(shù)據(jù)庫(kù)操作類
    這個(gè)類提供了對(duì)數(shù)據(jù)庫(kù)操作的方法,實(shí)際上是通過(guò)EntityManager類中的方法進(jìn)行操作的.而EntityManager類是由EntityManagerFactory生成的.
	import java.util.*;
	import javax.persistence.*;
	import database.Book;

	public class UserDao {
	  private ArrayList users;
	  private EntityManager em;
	  public UserDao(EntityManagerFactory emf) throws Exception {
	    em = emf.createEntityManager();
	  }
	  public void remove() {
	     try {
	       em.close();
	     } catch (Exception ex) {
	       System.out.println(ex.getMessage());
	     }
	  }
	  public User findByPk(int uid){
	     User u = em.find(User.class, uid);
	     return u;
	  }  
	}
   5 Servlet類
    在這個(gè)類中由container注入一個(gè)EntityManagerFactory并且把它傳遞給UserDao類.注意EntityManagerFactory 的注入需要在由容器管理的實(shí)體中進(jìn)行(比如Servlet).
	public class UserServlet extends HttpServlet {
	private UserDao userDao;
	@PersistenceUnit
	private EntityManagerFactory emf;
	public void init() throws ServletException {
		try {
			userDao = new UserDao(emf);
		} catch (Exception ex) {
			System.out.println(ex.getMessage());
		}
	}
	public void destroy() {
		userDao = null;
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		HttpSession session = request.getSession();
		response.setContentType("text/html");
		// response.setBufferSize(8192);
		PrintWriter out = response.getWriter();
		String userid = request.getParameter("userid");
		try {
			User u = userDao.findByPk(Integer.valueOf(userid));
			out.println(userid + ": " + u.getUserid());
		} catch (Exception bnf) {
			out.println("The book not found.");
			out.close();
		}
	}
	}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频观看| 亚洲欧美电影院| 欧美怡红院视频| 91蝌蚪porny九色| 91在线小视频| 91麻豆自制传媒国产之光| 成人国产电影网| 色婷婷国产精品久久包臀| 91免费版在线| 欧美日韩精品一区二区三区四区 | 极品少妇xxxx精品少妇偷拍| 日韩高清电影一区| 久久91精品国产91久久小草| 激情欧美日韩一区二区| 高清不卡一二三区| 91在线观看免费视频| 欧美日韩在线亚洲一区蜜芽| 9191成人精品久久| 久久久午夜精品| 亚洲欧洲三级电影| 五月婷婷综合网| 精品一区二区免费视频| 高清国产一区二区三区| 91国偷自产一区二区使用方法| 日本高清不卡aⅴ免费网站| 欧美日韩色综合| 久久精品日韩一区二区三区| 一区在线观看免费| 日韩中文字幕1| 成人免费电影视频| 欧美精品在线观看播放| 国产欧美1区2区3区| 一个色综合av| 国产不卡在线一区| 欧美日韩mp4| 亚洲国产精品成人久久综合一区| 亚洲成在人线在线播放| 丁香婷婷综合五月| 制服.丝袜.亚洲.中文.综合| 久久精品综合网| 午夜精品久久久久久| 懂色av一区二区三区免费看| 欧美日韩一二区| 国产日韩av一区| 久久精品噜噜噜成人88aⅴ| 色综合久久88色综合天天6| 亚洲精品一区二区三区蜜桃下载 | 久久蜜臀中文字幕| 亚洲丰满少妇videoshd| caoporn国产精品| 亚洲精品在线免费观看视频| 亚洲国产裸拍裸体视频在线观看乱了| 蜜臀精品一区二区三区在线观看| 91热门视频在线观看| 久久精品亚洲精品国产欧美| 男女男精品网站| 欧美三级午夜理伦三级中视频| 国产日产精品1区| 韩国成人精品a∨在线观看| 欧美一区二区三区成人| 亚洲一区中文日韩| 色婷婷激情综合| 日韩美女啊v在线免费观看| 福利一区在线观看| www日韩大片| 久草热8精品视频在线观看| 91精品欧美综合在线观看最新| 一级精品视频在线观看宜春院 | 日韩影院免费视频| 欧美在线视频日韩| 亚洲一区影音先锋| 欧美三级日韩在线| 亚洲成精国产精品女| 欧美性大战久久久久久久蜜臀 | 欧美精品久久一区| 婷婷一区二区三区| 91精品国产免费| 免费在线一区观看| 精品国产欧美一区二区| 极品少妇一区二区三区精品视频| 欧美福利一区二区| 美国毛片一区二区三区| 欧美zozo另类异族| 国产精品亚洲视频| 1000精品久久久久久久久| 91亚洲永久精品| 亚洲成在人线在线播放| 91精品国产91久久综合桃花| 毛片av中文字幕一区二区| 亚洲精品一区在线观看| 国产成人99久久亚洲综合精品| 国产精品欧美久久久久无广告 | 经典三级视频一区| 欧美韩国一区二区| 色哦色哦哦色天天综合| 日韩福利视频网| 国产欧美日本一区二区三区| 一本大道久久精品懂色aⅴ| 日韩国产精品久久| 欧美激情艳妇裸体舞| 色欧美88888久久久久久影院| 婷婷久久综合九色国产成人| 精品精品欲导航| 91在线精品一区二区| 婷婷国产在线综合| 国产精品天天摸av网| 欧美丝袜丝交足nylons图片| 国内精品久久久久影院色| 中文字幕一区二区三区色视频| 欧美日韩美少妇| 国产精品亚洲人在线观看| 亚洲在线观看免费| 欧美激情一区二区在线| 在线播放欧美女士性生活| 成人性生交大合| 婷婷中文字幕一区三区| 国产精品色婷婷| 欧美电影免费观看高清完整版在| 色综合天天综合狠狠| 久久99国产精品久久| 亚洲一区二区在线观看视频 | 视频在线观看一区| 中文字幕在线一区| 精品国产乱码久久久久久久 | 国产成人精品www牛牛影视| 亚洲一级二级三级| 国产精品你懂的| 日韩一区二区免费电影| 在线观看av不卡| 不卡高清视频专区| 国产精品一二三在| 韩国精品久久久| 日本网站在线观看一区二区三区| 自拍偷在线精品自拍偷无码专区 | 在线观看欧美精品| av在线播放不卡| 国产精品一二一区| 国产精品原创巨作av| 日韩av一区二区在线影视| 一区二区三区四区视频精品免费| 中文字幕不卡三区| 久久久久一区二区三区四区| 91精品国产入口| 91精品国模一区二区三区| 欧美亚洲图片小说| 在线观看视频欧美| 欧美日韩色综合| 在线播放/欧美激情| 777午夜精品免费视频| 欧美日韩激情在线| 7777精品伊人久久久大香线蕉 | 精品日韩在线一区| 日韩一区二区三区高清免费看看| 欧美日韩国产中文| 欧美一区二区免费观在线| 91精品国产综合久久精品图片| 欧美一级电影网站| 日韩免费一区二区| 久久伊人蜜桃av一区二区| 欧美精品一区二区三区久久久| 欧美精品一区二区精品网| 欧美电影免费观看高清完整版在 | 成人激情免费视频| 成人一区二区三区在线观看| 成人午夜视频福利| 色婷婷综合久久久久中文一区二区| 色94色欧美sute亚洲线路二| 欧美最猛黑人xxxxx猛交| 在线播放亚洲一区| 欧美精品一区二区三区高清aⅴ| 欧美高清一级片在线观看| 亚洲同性同志一二三专区| 亚洲国产精品天堂| 久久99久久99| 91亚洲大成网污www| 欧美精品亚洲二区| 中文av一区二区| 亚洲成人动漫在线观看| 激情伊人五月天久久综合| 97精品视频在线观看自产线路二| 欧美午夜一区二区| 久久久亚洲午夜电影| 亚洲一区二区美女| 极品少妇xxxx偷拍精品少妇| 99久久精品免费看国产免费软件| 欧美三级蜜桃2在线观看| 久久综合色8888| 一级特黄大欧美久久久| 国内精品伊人久久久久影院对白| 99久久精品99国产精品| 日韩午夜激情免费电影| 国产精品夫妻自拍| 蜜臀99久久精品久久久久久软件| 成人app网站| 精品国产凹凸成av人网站| 一个色综合网站| 99re66热这里只有精品3直播| 日韩一区二区精品在线观看| 亚洲综合一区二区三区| 成人av资源下载|