`
文章列表
SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录。LEFT JOIN 基本语法如下: ... FROM table1 LEFT JOIN table2 ON condition ... MySQL LEFT JOIN 用法实例 下面是两个原始数据表: article 文章表: aid title content uid 1 文章1 文章1正文内容... 1 2 文章2 文章2正文内容... 1 3 文章3 文章3正文内容... 2 4 文章4 文章4正文内容... 4 user 用户表: uid username email ...
http://www.cnblogs.com/luxh/archive/2012/05/31/2529233.html   JPQL:Java持久化查询语言,以面向对象的查询语法构造查询语句。   JPA使用javax.persistence.Query接口代表一个查询实例,Query实例由EntityManager通过指定查询语句构建。   以下程序中的em是EntityManager的一个实例,使用注入或通过 EntityManagerFactory 实例显式获取一个 EntityManager 实例。   1、一个基本的查询:   SELECT u FROM User u 检索所有的Us ...

JPA的多对多映射

    博客分类:
  • JPA
  实体Player:玩家。   实体Game:游戏。   玩家和游戏是多对多的关系。一个玩家可以玩很多的游戏,一个游戏也可以被很多玩家玩。   JPA中使用@ManyToMany来注解多对多的关系,由一个关联表来维护。这个关联表的表名默认是:主表名+下划线+从表名。(主表是指关系维护端对应的表,从表指关系被维护端对应的表)。这个关联表只有两个外键字段,分别指向主表ID和从表ID。字段的名称默认为:主表名+下划线+主表中的主键列名,从表名+下划线+从表中的主键列名。   需要注意的:   1、多对多关系中一般不设置级联保存、级联删除、级联更新等操作。   2、可以随意指定一方为关系维护端,在 ...
  实体Company:公司。   实体Employee:雇员。   Company和Employee是一对多关系。那么在JPA中,如何表示一对多的双向关联呢?   JPA使用@OneToMany和@ManyToOne来标识一对多的双向关联。一端(Company)使用@OneToMany,多端(Employee)使用@ManyToOne。   在JPA规范中,一对多的双向关系由多端(Employee)来维护。就是说多端(Employee)为关系维护端,负责关系的增删改查。一端(Company)则为关系被维护端,不能维护关系。   一端(Company)使用@OneToMany注释的mappedB ...

JPA的主键产生策略

    博客分类:
  • JPA
@GeneratedValue:主键的产生策略,通过strategy属性指定。   主键产生策略通过GenerationType来指定。GenerationType是一个枚举,它定义了主键产生策略的类型。   1、AUTO 自动选择一个最适合底层数据库的主键生成策略。如MySQL会自动对应auto increment。这个是默认选项,即如果只写@GeneratedValue,等价于@GeneratedValue(strategy=GenerationType.AUTO)。   2、IDENTITY 表自增长字段,Oracle不支持这种方式。   3、SEQUENCE 通过序列产生主键,MySQ ...
JPA的命名查询实际上就是给查询语句起个名字,执行查询的时候就是直接使用起的这个名字,避免重复写JPQL语句,使查询在代码中得到更多的重用。我不怎么喜欢使用命名查询,因为我不想把查询语句写在实体中,使得实体看起来变得复杂臃肿。   1、使用@NamedQuery注解在实体类中定义命名查询。      @NamedQuery(name="findAllUser",query="SELECT u FROM User u")        @NamedQuery中的属性name指定命名查询的名称,query属性指定命名查询的语句。        如果要定义多个命 ...

Apache Shiro 授权

 
Apache Shiro 授权 授权,亦即访问控制,是管理资源访问的过程,换言之,也就是控制在一个程序中“谁”有权利访问“什么”。 授权的例子有:是否允许这个用户查看这个页面,编辑数据,看到按钮,或者从这台打印机打印?这些决定一个用户可以访问什么的决断。 授权组件 授权有三个核心组件,在Shiro中我们经常要用到它们:权限(permissions)、角色(roles)和用户(users)。 权限(Permissions) 权限是Apache Shiro中安全策略最基本的组件,它们是一组关于行为的基本指令,以明确表示在一个程序中什么可以做。一个很好定义的 ...
自从 JPA 于 2006 年首次被引入之后,它就得到了 Java 开发社区的广泛支持。该规范的下一个主要更新 —— 2.0 版本 (JSR 317) —— 将在 2009 年年底完成(见 参考资料)。JPA 2.0 引入的关键特性之一就是 Criteria API,它为 Java 语言带来 ...
关于hashCode与equals方法的说明: 1)对于一个程序的一次执行过程中,同一个对象的hashCode计算的结果一定相同,但是对于同一个程序的不同执行过程中,不要求其hashCode一定相同。 2)对于两个对象,如果使用equals方法比较,结果为true,那么这两个对象的hashCode值一定相同 3)对于两个对象,如果使用equals方法比较,结果为false,那么这两个对象的hashCode值不要求一定不同(但是如果不同可以提高程序性能) 当 我们向HashSet中add对象,它首先调用它的HashCode方法,得到这个HashCode的返回整数值,这个整数值就会映射到s ...
Struts,Spring,Hibernate优缺点 Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP) ...

JSF的生命周期

    博客分类:
  • jsf
JSF 应用程序生命周期的六个阶段是: 1.     恢复视图 2.     应用请求值;处理事件 3.     处理检验;处理事件 4.     更新模型值;处理事件 5.     调用应用程序;处理事件 6.     显示响应 这六个阶段是 JSF 处理表单 GUI 的一般次序。这个列表按照每个阶段可能的执行次序和事件处理进行排列,但是 JSF 生命周期并不是固定的。可以改变执行的次序,跳过某些阶段或完全脱离生命周期。例如,如果一个无效的请求值被复制到组件,那么会重新显示当前视图,并可能不执行某些阶段。 还可以选择完全脱离 JSF,比如将处理委托给一个 ser ...
方法一: String baseFolder = this.getServletConfig().getServletContext().getRealPath("/").replace("\\", "/"); 方法二: public String getRealPath(){ String folderPath=this.getClass().getClassLoader().getResource("").getPath(); String realPath = folderPath.substring ...
public class IrisTest {     public static void main(String[] args) {         try                  {                                          HttpClient client = new HttpClient();                      String fullAbsolutePath;                                         String dateString = new Simpl ...
<img src="http://www.hao123.com/images/guangg/2009year.jpg" width="200" id="imgs"/> <script> document.write("宽:"+imgs.width+"  高:"+imgs.height) </script><br> <img src="http://www.hao123.com/images/guangg/2009year.jp ...
#对应id 点对应class        不加对应html标签 Class与ID的区别        一个Class是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方就是剧本:一个Class可以定义剧本中每个人物的故事线,你可以通过CSS,Javascript等来使用这个类。因此你可以在一个页面上使用 class="Frodo" ,class="Gandalf",class="Aragorn"来区分不同的故事线。        还有一点非常重要的是你可以在一个文档中使用任意次数的 Class。        ...
Global site tag (gtag.js) - Google Analytics