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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpa開發.txt

?? jpa開發
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
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的是企業級應用規范,JPA(Java Persistence API)作為Java EE 5.0平臺標準的ORM規范,將得到所有Java EE服務器的支持。Sun這次吸取了之前EJB規范慘痛失敗的經歷,在充分吸收現有ORM框架的基礎上,得到了一個易于使用、伸縮性強的ORM規范。從目前的開發社區的反應上看,JPA受到了極大的支持和贊揚,JPA作為ORM領域標準化整合者的目標應該不難實現。Sun引入新的JPA ORM規范出于兩個原因:其一,簡化現有Java EE和Java SE應用的對象持久化的開發工作;其二,Sun希望整合對ORM技術,實現天下歸一。  

二、glassfish安裝配置與使用

1. glassfish介紹
   由SUN公司的GlassFish社團開發,Glassfish JPA - 一個基于 Oracle’s TopLink ORM framework 的開源項目。GlassFish(水晶魚)是一個免費、開放源代碼的應用服務,它實現了Java EE 5。 Java EE 5 平臺包括了以下最新技術: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雖然是一個標準的Java EE服務器,但是它同樣具有輕便的Web容器的優點,它和Tomcat一樣是優秀的Servlet容器,同時,它具備延遲加載的功能,也就是說, GlassFish在啟動時只會啟動一些必需的核心服務項,如Local JNDI服務,用于管理的JMX服務等,而對于暫時用不到的服務通通不予加載,直到需要的時候再說,而且這個特性不需要額外的配置。這樣 GlassFish的啟動時間是以前的一半,內存占用也只有以前的一半。
    GlassFish的另外一個秘密武器,就是Grizzly,Grizzly是一個基于Java NIO(New IO)技術,并完全以Java實現的一個HTTP的Listener,有了Grizzly,GlassFish在靜態文件傳輸方面的性能比Tomcat要 強得多,而且可以支持更多的并發訪問。我們可以拋棄JBoss+Tomcat和Apache+Tomcat這樣的組合了。

      
   D:\Program\glassfish\lib\ant\bin下自帶了一個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)設置環境變量
	GLASSFISH_HOME=D:\Program\glassfish    
	path=%GLASSFISH_HOME%\bin
    2) java -jar *.jar 可解壓出一個目錄
    3) ant -f setup.xml 再安裝
    4) 系統默認的 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. 啟動與停止
  $GLASSFISH_HOME/bin/asadmin start-domain domain1
                      asadmin stop-domain domain1 
5. 配置與myEclipse的連接
   一切按默認配置后,啟動,報幾個jar沒有找到,沒關系,在GlassFish1-paths-Append to ClassPath中導入javaee.jar/jmac-api.jar即可。

5. 訪問
  web應用目錄:http://localhost:8080/
  管理控制臺:http://localhost:4848/  用戶名:密碼=admin:adminadmin

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

7. Derby數據庫
  Glassfish App Server捆綁了一個數據庫叫Derby,是一個理想的,并且開源的,100% Java編寫的,容易管理的關系數據庫管理系統,它可以和一些商業產品的特性進行交付。這篇文章是關注Apache Derby項目

  配置環境變量:    
    DERBY_HOME=D:\Program\glassfish\javadb
    PATH=%DERBY_HOME%\bin

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

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

三、javaSe開發
   1. 新建java項目
      導入javaee.jar,jmac-api.jar,toplink-essentials.jar,toplink-essentials-agent.jar,derbyclient.jar
   2. 建庫建表
     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. 寫個普通的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. 寫個UserDao
        public class UserDao {
	//Apache Derby數據庫提供2類JDBC驅動程序: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項目中新建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項目開發
   1. 在derby數據庫中創建表與數據
   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應用程序
   導入jpa的jar包,javaee.jar

   3. 寫Entity類
   Entity類實際上是一個JavaBean,它表示了一個數據庫中的表.類中使用了以下3個annotation.
	@Entity: 指定這個類為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. 數據庫操作類
    這個類提供了對數據庫操作的方法,實際上是通過EntityManager類中的方法進行操作的.而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類
    在這個類中由container注入一個EntityManagerFactory并且把它傳遞給UserDao類.注意EntityManagerFactory 的注入需要在由容器管理的實體中進行(比如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();
		}
	}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av在线播放中文字幕| 亚洲婷婷国产精品电影人久久| 91美女在线观看| 99国产精品99久久久久久| 东方欧美亚洲色图在线| 风间由美一区二区三区在线观看 | 免费的国产精品| 麻豆高清免费国产一区| 另类成人小视频在线| 国产高清精品在线| 97精品电影院| 欧美精品一二三区| 精品国产乱码久久久久久闺蜜| 精品人伦一区二区色婷婷| 久久久99免费| 亚洲日本丝袜连裤袜办公室| 亚洲午夜一区二区三区| 日韩影院精彩在线| 国产一区二区三区不卡在线观看 | 久久综合五月天婷婷伊人| 精品日韩av一区二区| 国产丝袜美腿一区二区三区| 中文字幕一区免费在线观看| 亚洲黄色性网站| 精品一区二区三区在线视频| 高清不卡一二三区| 欧美美女网站色| 久久久久久久久久久久久女国产乱| 国产午夜精品福利| 首页国产欧美日韩丝袜| 国产很黄免费观看久久| 欧美午夜视频网站| 国产欧美1区2区3区| 亚洲高清一区二区三区| 成人午夜视频网站| 91麻豆精品国产91久久久久久久久| 国产情人综合久久777777| 亚洲第一会所有码转帖| 成人免费高清视频| 欧美精品粉嫩高潮一区二区| 国产精品婷婷午夜在线观看| 五月激情六月综合| 北条麻妃国产九九精品视频| 欧美一区二区三区播放老司机| 亚洲国产精品99久久久久久久久 | 国产乱人伦精品一区二区在线观看| 99热在这里有精品免费| 久久综合九色综合欧美亚洲| 亚洲精品中文字幕乱码三区| 国产高清久久久| 日韩精品一区二区三区中文不卡| 亚洲黄色性网站| av亚洲精华国产精华精华| 日韩精品一区二区三区在线播放| 亚洲欧美色图小说| 成人av电影免费观看| 久久免费电影网| 国内精品在线播放| 日韩一区二区三区高清免费看看| 一区二区三区四区中文字幕| 国产精品911| 精品国产1区二区| 久久精品国产99| 欧美一级片免费看| 午夜国产不卡在线观看视频| 一本到三区不卡视频| 国产精品美女久久久久久| 国产成人免费高清| 久久九九久精品国产免费直播| 秋霞国产午夜精品免费视频 | 视频一区视频二区中文字幕| 欧美午夜精品理论片a级按摩| 国产精品久久久久久久午夜片| 国产91精品精华液一区二区三区| 日韩久久久久久| 国精产品一区一区三区mba视频| 日韩欧美成人激情| 久久成人精品无人区| 久久这里都是精品| 国产+成+人+亚洲欧洲自线| 久久伊人蜜桃av一区二区| 国产一区91精品张津瑜| 国产网红主播福利一区二区| 丁香天五香天堂综合| 日韩一区在线播放| 色妞www精品视频| 亚洲午夜私人影院| 91精品国产免费久久综合| 欧美aaaaa成人免费观看视频| 日韩一区二区三| 国产福利一区二区| ...xxx性欧美| 91精品久久久久久久91蜜桃| 久久精品噜噜噜成人av农村| 欧美激情一区二区在线| 一本色道久久综合亚洲91| 亚洲国产成人av网| 久久这里只有精品首页| 99re热视频精品| 日韩精品国产欧美| 国产欧美一区二区三区鸳鸯浴| 大桥未久av一区二区三区中文| 亚洲激情网站免费观看| 欧美一区二区三区不卡| 成人动漫在线一区| 日韩中文字幕区一区有砖一区 | 精品国内二区三区| 99久久精品免费观看| 日韩中文字幕一区二区三区| 亚洲国产精品传媒在线观看| 欧美日韩国产小视频| 国产精品伊人色| 亚洲国产视频一区二区| 久久精品一区二区三区av| 欧美亚洲一区三区| 国产不卡一区视频| 美女视频一区二区| 一区二区成人在线视频| 国产日韩一级二级三级| 9191成人精品久久| 色狠狠色噜噜噜综合网| 国产精品主播直播| 免费亚洲电影在线| 亚洲黄色性网站| 国产精品福利电影一区二区三区四区| 在线播放视频一区| 99国产精品99久久久久久| 国产乱码精品1区2区3区| 亚洲福中文字幕伊人影院| 亚洲欧美中日韩| 国产视频在线观看一区二区三区| 8x8x8国产精品| 欧美三级电影精品| 在线观看一区二区精品视频| 丁香啪啪综合成人亚洲小说| 国模冰冰炮一区二区| 蜜桃视频在线观看一区二区| 有码一区二区三区| 亚洲手机成人高清视频| 一区在线中文字幕| 国产精品视频免费| 国产三级欧美三级日产三级99| 精品欧美一区二区三区精品久久| 欧美综合在线视频| 色系网站成人免费| 色欲综合视频天天天| 99re热这里只有精品免费视频| 成人影视亚洲图片在线| 成人一区二区三区视频在线观看| 国产又黄又大久久| 国产一区二区三区精品视频| 国产一区二区主播在线| 国产成人在线看| 成人黄色软件下载| 91日韩一区二区三区| 91色婷婷久久久久合中文| 在线一区二区三区四区| 欧美特级限制片免费在线观看| 白白色亚洲国产精品| 91网站在线播放| 欧美日韩高清不卡| 欧美成人福利视频| 国产欧美va欧美不卡在线| 国产精品成人一区二区三区夜夜夜| 国产亚洲精品超碰| 亚洲欧美aⅴ...| 亚洲国产你懂的| 久久黄色级2电影| 成人综合激情网| 欧洲亚洲国产日韩| 91精品国产品国语在线不卡| 日韩免费福利电影在线观看| 国产拍揄自揄精品视频麻豆| 亚洲欧洲性图库| 亚洲成人综合在线| 国产中文字幕精品| 色综合亚洲欧洲| 欧美一区二区三区白人| 中文欧美字幕免费| 婷婷久久综合九色综合绿巨人| 另类的小说在线视频另类成人小视频在线| 国内欧美视频一区二区| 一本久道久久综合中文字幕| 日韩三级.com| 国产精品久久久久9999吃药| 亚洲曰韩产成在线| 国产精品99久| 在线不卡中文字幕播放| 国产日韩欧美激情| 日本亚洲免费观看| 91浏览器在线视频| 欧美精品一区二区三区蜜臀| 亚洲精品日韩专区silk| 国产自产v一区二区三区c| 91久久精品一区二区三区| 久久精品网站免费观看| 日本伊人午夜精品| 99久久精品情趣| 久久久久国产精品麻豆| 三级久久三级久久久|