#眉標=Java #大標= Java物件的永續性解決方案: Java Persistence API #副標= Java EE 5: 伺服器端開發技術大躍進(5) #作者=文/廖峻鋒 ==<程式1>=========== Connection connection; try { // Step 1: 載入JDBC驅動程式 Class.forName("com.mysql.jdbc.Driver").newInstance(); // Step 2: 取得資料庫連結  String url = "jdbc:mysql://localhost/dbname?user=root&password=abc"; connection = DriverManager.getConnection(url); // Step 3: 建立Statement物件 Statement stmt = connection.createStatement(); // Step 4: 下SQL ResultSet rs = stmt.executeQuery("select * from product"); // Step 5: 處理結果 while(rs.next()) { … } }catch (Exception ex){ // Step 6: 關閉連結與例外處理 ex.printStackTrace(); }// end catch finally { try { connection.close(); } catch (Exception ex) { ex.printStackTrace(); } }// end finally ==<程式1 end>============== ==<程式2>=========== @Entity @Table(name=” tb_emp”) public class Employee { @Id private int id; private String name; @Temporal(value = TemporalType.DATE) private Date birthday; …(getter與setter省略)… } ==<程式2 end>============== ==<程式3>=========== Employee ==<程式3 end>============== ==<程式5>=========== Public static void main(String args[]){ // 取得EntityManager的前置作業 EntityManagerFactory emf = Persistence .createEntityManagerFactory("EmployeeService"); // (1) EntityManager em = emf.createEntityManager(); // (2) // 找到id為100的員工並設定其生日為今天 em.getTransaction().begin(); // (3) Employee e = em.find(Employee.class, 100); // (4) e.setBirthday(new Date()); // (5) em.getTransaction().commit(); // (6) em.close(); // (7) emf.close(); // (8) } ==<程式5 end>============== ==<程式6>=========== …(後略)… ==<程式6 end>============== ==<程式7>=========== @Entity @Table(name="tb_emp") @SecondaryTable(name="tb_emp_detail", pkJoinColumns=@PrimaryKeyJoinColumn(name="ID")) public class Employee { ... } ==<程式7 nd>============== ==<程式8 box>=========== @Column(name=”emp_sal”,nullable=”false”) private lone salary; ==<程式8 end>============== ==<程式9>=========== @Id @GeneratedValue(strategy=TABLE) private int id; ==<程式9 end>============== ==<程式10>=========== // 位置參數 Query query1 = em.createQuery(“       select e from Employee e where e.id == ?1”); query1.setParameter(1,100); List result1 = query1.getResultList(); // 具名參數 Query query2 = em.createQuery(“       select e from Employee e where e.id == :id”); query2.setParameter(“id”,100); List result2 = query2.getResultList(); ==<程式10 end>==============