Java教程 第64页

JPA 列定义示例-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

JPA 列定义示例

JPA教程 – JPA列定义示例 当将Java bean映射到实体时,我们可以在映射注释中设置数据库表列定义。 以下代码将列定义设置为 VARCHAR(40)。 @Column(columnDefinition = "VARCHAR(40)") private String name; @Column注释表示物理数据库列的特定特征。 例子 下面的代码来自Person.java。 package cn.w3cschool.common; import static javax.persistence.FetchType.LAZY; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.Table; @Entity @Table(name="EMP") public class Person { @Id @Column(name = "EMP_ID") private long id; @Column(columnDefinition = "VARCHAR(40)") private String name; private String surname; public Person() {} public Person(String name, String surname) { this.name = name; this.surname = surname; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSurname() { return surname; } public void setSurname(String surname) { this.surname = surname; } @Override...

JPA 合并示例

JPA教程 – JPA合并示例 在实体中合并后,我们可以更改其属性,EntityManager将自动更新数据库。 例子 下面的代码来自PersonDaoImpl.java。 package cn.w3cschool.common; import java.util.Date; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.transaction.annotation.Transactional; @Transactional public class PersonDaoImpl { public void test() { Employee emp = new Employee(); emp.setName("Tom"); em.persist(emp); emp = em.find(Employee.class, emp.getId()); Employee managedEmp = em.merge(emp); managedEmp.setLastAccessTime(new Date()); } @PersistenceContext private EntityManager em; } 以下代码来自Employee.java。 package cn.w3cschool.common; import java.util.Date; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity public class Employee { @Id private int id; private String name; @Temporal(TemporalType.TIMESTAMP) private Date lastAccessTime; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getLastAccessTime() { return lastAccessTime; } public void setLastAccessTime(Date lastAccessTime)...

JPA 按ID查找示例-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

JPA 按ID查找示例

JPA教程 – JPA按ID查找示例 一旦我们将实体保存到数据库中,我们可以通过使用EntityManager中的find方法来检索它们。 以下代码显示如何使用find方法与实体id。 Person emp = em.find(Person.class, 1L); 例子 下面的代码来自Person.java。 package cn.w3cschool.common; import static javax.persistence.FetchType.LAZY; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.Table; @Entity @Table(name="EMP") public class Person { @Id @Column(name = "EMP_ID") private long id; @Basic private String name; private String surname; @Lob @Basic(fetch=LAZY) private byte[] picture; public Person() {} public Person(String name, String surname) { this.name = name; this.surname = surname; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSurname() { return surname; } public void setSurname(String surname) { this.surname = surname; } public byte[]...

JPA 实体管理器删除示例-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

JPA 实体管理器删除示例

JPA教程 – JPA 实体管理器删除示例 我们可以使用JPA中的EntityManager来删除一个实体。 在下面的代码中,我们首先通过使用EntityManager中的find方法从数据库获取person对象,然后调用remove方法并传递person对象引用。 Person emp = em.find(Person.class, 1L); if (emp != null) { em.remove(emp); } 例子 下面的代码来自Person.java。 package cn.w3cschool.common; import static javax.persistence.FetchType.LAZY; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.Table; @Entity @Table(name="EMP") public class Person { @Id @Column(name = "EMP_ID") private long id; @Basic private String name; private String surname; @Lob @Basic(fetch=LAZY) private byte[] picture; public Person() {} public Person(String name, String surname) { this.name = name; this.surname = surname; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSurname() { return surname; } public void setSurname(String...

JSF 教程

//www.w3cschool.cn/java/jsf-basic-tags.html

模板中的JSF参数

JSF教程 – 模板示例中的JSF参数 以下代码显示了如何在模板中使用参数。 例子 以下代码来自commonFooter.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" > <body> <ui:composition> <h1>This is default footer</h1> </ui:composition> </body> </html> 下面的代码来自UserBean.java。 package cn.w3cschool.common; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{ private static final long serialVersionUID = 1L; } 以下代码来自demo.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" > <h:body> <ui:composition template="template/common/commonLayout.xhtml"> <ui:param name="curFileName" value="default.xhtml"></ui:param> </ui:composition> </h:body> </html> 以下代码来自commonHeader.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" > <body> <ui:composition> <h1>This is default header</h1> <h2>Tag Line : #{tagLine}</h2> </ui:composition> </body> </html> 以下代码来自common-style.css。 #page{ width: 800px; margin: 0 auto; } #header{ width: 100%;...

基于JSF Bean的导航示例

JSF教程 – 基于JSF Bean的导航示例 我们还可以在托管bean中定义一个方法来返回视图名称。 下面的代码定义了一个名为NavigationController的托管bean一个名为moveToPage1()的方法。moveToPage1()返回页面名称。 @ManagedBean(name = "navigationController", eager = true) @RequestScoped public class NavigationController implements Serializable { public String moveToPage1(){ return "page1"; } } 我们在 h:commandButton 中调用moveToPage1()方法动作属性。 这里当点击Page1按钮时,JSF会解析视图名称,page1作为page1.xhtml扩展,并找到相应的视图文件page1.xhtml在当前目录中。 <h:form> <h3>Using Managed Bean</h3> <h:commandButton action="#{navigationController.moveToPage1}" value="Page1" /> </h:form> 例子 下面的代码来自UserBean.java。 package cn.w3cschool.common; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{ private static final long serialVersionUID = 1L; public String moveToPage1(){ return "demo"; } public String moveToPage2(){ return "page2"; } } 以下代码来自demo.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is page1.xhtml</h2> <h:form> <h:commandButton action="page2" value="Move to page2.xhtml" /> <h:commandButton action="#{user.moveToPage2}" value="Move to page2.xhtml by managed bean" /> </h:form> </h:body> </html> 以下代码来自page2.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html...

JSF 隐式导航示例

JSF教程 – JSF隐式导航示例 使用JSF,我们可以在配置文件faces-config.xml中定义页面导航规则。 我们还可以将导航规则放在托管bean中。 以下代码显示第三个选项,即隐式导航。 JSF 2.0提供了隐式导航,哪些页面可以自动解析。我们只需要在action属性中放置视图名称,JSF将在部署的应用程序中自动搜索正确的视图页面。 例如,在以下的JSF表单标签中。我们在action属性中设置视图名称。 这里当点击Page2按钮时,JSF将解析视图名称,page2解析为page2.xhtml扩展名,并在当前目录中找到相应的视图文件page2.xhtml。 <h:form> <h:commandButton action="page2" value="Page2" /> </h:form> 例子 下面的代码来自UserBean.java。 package cn.w3cschool.common; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{ private static final long serialVersionUID = 1L; public String moveToPage1(){ return "demo"; } public String moveToPage2(){ return "page2"; } } 以下代码来自demo.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is page1.xhtml</h2> <h:form> <h:commandButton action="page2" value="Move to page2.xhtml" /> <h:commandButton action="#{user.moveToPage2}" value="Move to page2.xhtml by managed bean" /> </h:form> </h:body> </html> 以下代码来自page2.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is page2.xhtml</h2> <h:form> <h:commandButton action="demo" value="Move to demo.xhtml" /> <h:commandButton action="#{user.moveToPage1}" value="Move...

JSF 页面重定向示例

JSF教程 – JSF页面重定向示例 JSF默认在从一个页面导航到另一个页面时执行服务器页面,并且应用程序的URL不会更改。 要启用页面重定向,请在视图名称的末尾追加faces-redirect = true。 以下代码显示如何将重定向添加到JSF页面。 第1页是向前,第2页是重定向。 <h:form> <h3>Forward</h3> <h:commandButton action="page1" value="Page1" /> <h3>Redirect</h3> <h:commandButton action="page2?faces-redirect=true" value="Page2" /> </h:form> 例子 以下代码来自demo.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is start.xhtml</h2> <h:form> <!--<h:commandButton action="page1?faces-redirect=true" value="Page1" />--> <h:commandButton action="page1" value="Page1" /> </h:form> </h:body> </html> 以下代码来自page1.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is page1.xhtml</h2> </h:body> </html> 下面的代码来自UserBean.java。 package cn.w3cschool.common; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class UserBean implements Serializable { private static final long serialVersionUID = 1L; } 下载 Page-Redirection.zip 运行 将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。 Tomcat完成启动后,在浏览器地址栏中键入以下URL。 http://localhost:8080/simple-webapp/demo.xhtml

JSF Form-Action导航示例

JSF教程 – JSF Form-Action导航示例 JSF提供了导航解析选项,即使托管bean不同的方法返回相同的视图名称。 我们可以在faces-config.xml文件中定义视图页面名称。 例如,来自UserBean托管bean的以下两个方法返回相同的结果。 @ManagedBean @SessionScoped public class UserBean implements Serializable { private static final long serialVersionUID = 1L; public String processPage1(){ return "success"; } public String processPage2(){ return "success"; } 要解析视图,请在faces-config.xml中定义以下导航规则 <navigation-rule> <from-view-id>home.xhtml</from-view-id> <navigation-case> <from-action>#{userBean.processPage1}</from-action> <from-outcome>success</from-outcome> <to-view-id>page1.jsf</to-view-id> </navigation-case> <navigation-case> <from-action>#{userBean.processPage2}</from-action> <from-outcome>success</from-outcome> <to-view-id>page2.jsf</to-view-id> </navigation-case> </navigation-rule> 以下JSF页面从命令按钮调用用户bean方法。 <h:form> <h:commandButton action="#{userBean.processPage1}" value="Page1" /> <h:commandButton action="#{userBean.processPage2}" value="Page2" /> </h:form> 这里,当点击Page1按钮。 调用 userBean.processPage1(),将返回视图成功。 JSF将视图名称解析为当前目录中相应的视图文件page1.xhtml 。 例子 以下代码来自page1.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is page1.xhtml</h2> </h:body> </html> 以下代码来自start.xhtml。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h2>This is start.xhtml</h2> <h:form> <h:commandButton action="#{userBean.processPage1}" value="Page1" /> <h:commandButton action="#{userBean.processPage2}" value="Page2" /> </h:form> </h:body> </html> 下面的代码来自UserBean.java。 package cn.w3cschool.common;...