摘要: 1、使用JdbcTemplate的execute()方法执行SQL语句Java代码 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))"); 2、如果是UPDATE或INSERT,可以用update()方法。Java代码 jdbcTemplate.update("INSERT INTO USER VALUES('" + user.getId() + "', '" + user.getName() + " 阅读全文
posted @ 2012-09-01 17:36 linux,dev 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最近搞定了项目,工作终于松了下来,回头整理一下spring学习的资料,记录于此,不足之处,希望大家不吝赐教。关于这一块的讨论,希望大家关注qq讨论群(Spring源码研究群:64606455,综合技术讨论群:178547149)言归正传,首先需要下载spring源码包,大家可以自己去spring官网( http://www.springsource.org/)下载最新版本的源码包,我这里直接给出下载地址,直接用迅雷下载即可.http://s3.amazonaws.com/dist.springframework.org/release/SPR/spring-framework-3.0.6.RE 阅读全文
posted @ 2012-09-01 17:34 linux,dev 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 在JavaEE 企业级开发中,以SSH2 框 架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。 开发环境 JDK 1.6.0 _18 Eclipse 3.2.1 MyEclipse 5.1.0 Tomcat 6.0.10 MySQL 5.0.27 Navicat Lite for MySQL 8.1.20 每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK 的版本不得低于1.5 ,因为用到了很多1.5 版 才支持的新特性。Tomcat 和MySQL 请不要低于我所用的版本,因为我没在其它的版本上进行测试。Navicat... 阅读全文
posted @ 2012-09-01 17:32 linux,dev 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 简介: 本文主要讲述了 iBatis 2.x 和 MyBatis 3.0.x 的区别,以及从 iBatis 向 MyBatis 移植时需要注意的地方。通过对本文的学习,读者基本能够了解 MyBatis 有哪些方面的改进,并能够顺利使用 MyBatis 进行开发。本文更适合有 iBatis 基础的开发人员阅读。从 iBatis 到 MyBatis,你准备好了吗?对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即 阅读全文
posted @ 2012-09-01 17:31 linux,dev 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 本文旨在提供一些真实的数据,供那些选择Hibernate3还是MyBatis做持久层的开发人员一个参考。数据在选择的时候,会删除一个最大值和最小值。1.从代码的编写量二者实现相同的功能:Hibernate3持久层用了207行Java代码,14行映射文件,18行Hibernate配置文件MyBatis持久层用了163行Java代码,36行映射文件,19行MyBatis配置文件所以从编码的角度我比较推荐MyBatis,因为它将Java代码和Sql做了映射,编码非常清晰。当然对于复杂的sql,无论是Hibernate还是MyBatis,解决起来都够复杂的。2.增加数据Hibernate3增加1000 阅读全文
posted @ 2012-09-01 17:29 linux,dev 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis虽然从正式版发布至今也有近一年时间,官方也非常友好的提供了中文版的使用手册,不过相信很多人还在项目中使用ibatis2.x版本。究竟Mybatis有哪些新特性,能给我们带来哪些好处呢?以下是我看一位大侠研究后1、Mybatis实现了接口绑定,使用更加方便。在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件,而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。这可以说是Mybatis最重要的改进。注意:虽然Mybatis支 阅读全文
posted @ 2012-09-01 17:28 linux,dev 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 以往在J2EE系统中,访问权限控制系统的实现主要有两种:应用程序实现和J2EE容器实现。传统的应用程序实现 这是最直接的、传统的一种解决方式,通常是在具体方法前加一个权限判断语句,如下:public class ForumFactoryProxy extends ForumFactory { ...... public Forum createForum(String name, String description) throws UnauthorizedException, ForumAlreadyExistsException { if (permissions.ge... 阅读全文
posted @ 2012-09-01 17:28 linux,dev 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 摘要 面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。本文分析传统权限控制的实现方法,并研究了在AOP下权限控制的实现方法。 关键词 AOP;横切关注点; 设计模式; 权限控制 OOP应用开发面临的问题 面向对象技术很好地解决了软件系统中角色划分的问题。借助于面向对象的分析、设计和实现技术,开发者可以将问题领域的“名词”转换成软件系统中的对象,从而很自然... 阅读全文
posted @ 2012-09-01 17:27 linux,dev 阅读(365) 评论(0) 推荐(0) 编辑
摘要: spring aop 的权限的管理是通过对路径的控制来实现的现在共有两个角色,经理和员工经理的权限检查的代码MgrAuthorityInterceptor.javaJava代码 public class MgrAuthorityInterceptor implements MethodInterceptor { public Object invoke(MethodInvocation invocation) throws Throwable { HttpServletRequest request = null; ActionMapping mapping = nul... 阅读全文
posted @ 2012-09-01 17:19 linux,dev 阅读(483) 评论(0) 推荐(0) 编辑
摘要: Hibernate延时加载,其实这个异常写的非常之清楚,就是会话关闭,无法对Hibernate实体进行操作。造成这样的情况有很多,什么书写错误啊,逻辑错误啊。但就此说一下关于lazy机制:Hibernate延时加载包括延迟初始化错误,这是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就会产生延迟初始化错误。下面把Customer.hbm.xml文件的元素的lazy属性设为true,表示使用延迟检索策略: 当执行Session的load( 阅读全文
posted @ 2012-09-01 17:18 linux,dev 阅读(295) 评论(0) 推荐(0) 编辑
摘要: Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能。下面先来剖析 Hibernate 延迟加载的“秘密”。集合属性的延迟加载当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时,完成所有集合属性的抓取,将导致性能急剧下降。完全有可能系统只需要使用持久化类集合属性中的部分记录,而完全不是集合属性的全部,这样,没有必要一次 阅读全文
posted @ 2012-09-01 17:15 linux,dev 阅读(165) 评论(0) 推荐(0) 编辑
摘要: spring MVC + hibernate3 + spring的架构让我最头痛的就是hiberante3。后来项目因为数据量大,被迫改成了JDBC。现在回想当初那个hibernate3使用的相当菜了(现在似乎也算刚刚入门),而且对很多hibernate的概念原理懵懵懂懂,用的不好,招来老板对hibernate的一顿质疑。一年半后的今天。当我再次看待hibernate时,除了当年隐隐约约的“委屈”涌上心头,更希望让大家了解hibernate,不要仅仅从应用角度出发。好了,咱们今天来看看hibernate关于延迟加载的原理与实现。主要使用的就是CGLib。==================== 阅读全文
posted @ 2012-09-01 17:12 linux,dev 阅读(334) 评论(0) 推荐(0) 编辑
摘要: @Entity,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) 。@Table,注册在类头上,注解声明了该实体bean映射指定的表(table)。@Id用来注册主属性,@GeneratedValue用来注册主属性的生成策略,@Column用来注册属性,@Version用来注册乐观锁,@Transient用来注册不是属性。以上的@Id、@GeneratedValue、 @Column 、 @Version,可以用来注册属性,既可以写在Java类的属性上,也可以注册在属性对应的getter上。@Transient注册在多余的属性或多余的getter上,但是必须与以上的@Co 阅读全文
posted @ 2012-09-01 17:10 linux,dev 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 我使用HibernateTemplate的,怎么做分页,给段代码吧doInHibernate(Session session)这个方法,我怎么调用,怎么传参数啊,我没有session工厂类*** 使用hql 语句进行操作* @param hql* @param offset* @param length* @return List*/public List getListForPage(final String hql, final int offset,final int length) {List list = getHibernateTemplate().executeFind(new 阅读全文
posted @ 2012-09-01 17:06 linux,dev 阅读(841) 评论(0) 推荐(0) 编辑
摘要: springmvc还有与struts2的stackvalue和actioncontext相似的概念吗还有jstl能用ognl表达式吗jstl用el表达式,struts用ongl表达式提问者评价这才是我想要的 谢谢springMVC是spring的一个子框架,于spring整合的话,是无缝整合。struts2则是老牌MVC框架,对于MVC的更专注,是目前应用最多的,mvc框架。*****************************************struts2 MVC 和spring MVC 区别。。功能上没啥区别。struts2 比较重量级点。功能强大。spring mvc 更轻量 阅读全文
posted @ 2012-09-01 17:05 linux,dev 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: 项目刚刚换了web层框架,放弃了struts2改用spring3mvc当初还框架的时候目的比较单纯---springmvc支持rest,小生对restful url由衷的喜欢不用不知道 一用就发现开发效率确实比struts2高我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置spring3 mvc可以认为已经100%零配置了(除了配置springmvc-servlet.xml外)比较了一下strus2与spring3 mvc的差别============================================struts2框架是类级别的拦截,每次来了请求就创建一 阅读全文
posted @ 2012-09-01 17:04 linux,dev 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar Hibernat... 阅读全文
posted @ 2012-09-01 17:03 linux,dev 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 源URL:http://elf8848.iteye.com/blog/698217作者:赵磊博客:http://elf8848.iteye.comStruts2、SpringMVC、Servlet(Jsp)性能对比 测试 。Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它。做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策。在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识。 人人都要了解。--------------------------------------------------------------- 阅读全文
posted @ 2012-09-01 16:57 linux,dev 阅读(390) 评论(0) 推荐(0) 编辑
摘要: Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 Spring 的 Web . 阅读全文
posted @ 2012-09-01 16:54 linux,dev 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 实际上,在spring的事务中,只要该类被设置为了事务代理:拦截器都会创建一个TransactionInfo 对象:TransactionInfo txInfo = new TransactionInfo(txAttr, method);而且如果 只要被调用的方法设置了事务属性(txAttr),不管是什么属性都会调用:txInfo.newTransactionStatus(this.transactionManager.getTransaction(txAttr));根据该方法的事务属性(definition )的不同,this.transactionManager.getTransactio 阅读全文
posted @ 2012-09-01 16:50 linux,dev 阅读(296) 评论(0) 推荐(0) 编辑