`
jianchen
  • 浏览: 343353 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
对spring的集成 1,spring和jdbc的组合开发 使用Spring+JDBC集成步骤如下: //首先配置数据源 <bean id="dataSource " class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">         <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>       ...
AOP技术 使用jdk提供的动态代理技术,可以实现对横向性切点关注.实现对目标对象的方法拦截,做出相应的处理.动态代理请参见前面的博文.使用jdk提供的代理类,要求目标对象要实现相应的接口才行。 但在实际应用中,很多类其 ...
注解的底层原理理解及模拟实现 注解其实是spring引入的配置减肥方案,因为对bean进行注入,一个bean的配置就会占据很对行,如果都放在配置文件中。如果应用程序中有多个bean需要配置的话,则会导致配置文件会显得很臃肿。注解就表示了对bean的注入,不需要在配置文件中指定。 在java代码中使用@Autowired或@Resource注解方式进行装配。但我们需要在xml配置文件中配置一下信息: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www. ...
Spring是一个开源的控制反转和面向切面的容器框架,它的主要目的是简化企业开发。 使用Spring的好处: 1,降低组件之间的耦合度,实现软件各层之间的解耦。 2,可以使用容器提供的 众多服务。如:事务管理服务,消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务,也不需要处理复杂的事务传播。 3,容器提供单例模式支持,开发人员不再需要自己编写实现代码。 4,容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。 5,容器提供的众多辅助类,使用这些类能够加快应用的开发,如:JdbcTemplate,HibernateTemplate。 6,Spri ...
hibernate不适合的场景: 1,不适合OLAP(on-line Analytical Processing 联机分析处理),以查询分析数据为主的系统;适合OLTP(On-line transaction processing联机事务处理)。 2,对于某些关系模型设计不合理的 老系统,也不能发挥hibernate优势。 3,数据量巨大,性能要求苛刻的系统,hibernate也很难达到要求,批量操作数据的效率也不高。 Chapter 20. 最佳实践(Best Practices) Prev      -------------------------------------- ...
零碎知识小结: ◆数据类型: 1,<property name="name" type="java.lang.String"/> type可以是hibernate,java类型或者你自己的类型(需要实现hibernate的一个接口) 2,基本类型一般不需要在映射文件(hbm.xml)中说明,只有在一个java类型和多个数据库数据类型相对应时并且你想要的和hibernate缺省映射不一致时,需要在映射文件中指明类型(如java.util.Date ,数据库DATE,TIME,DATETIME,TIMESTAMP,hibernate缺省会 ...
原文:http://edu.chinaitlab.com/news/739480.html   IT专业技术认证是进入IT行业的“敲门砖”。由国际著名IT企业颁发的的职业证书,证明了你具有某种专业IT技能,为国际承认并通用。这些国际著名 IT企业为:Microsoft、Oracle 、Cisco 、Sun ...
原文:http://danni505.blog.51cto.com/15547/99441   POJO = pure old java object or plain ordinary java object or what ever. PO = persisent object 持久对象 就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的: [code:1]public class User { priva ...
session context和事务边界 用current_session_context_class属性来定义context(用sessionFactory.getCurrentSession()来获得session),其值为: 1,thread:ThreadLocal来管理Session实现多个操作共享一个Session,避免反复获取Session,并控制事务边界,此时session不能调用close。当commit或rollback的时候session会自动关闭。 Open session in view: 在生成(渲染)页面时保持session打开。 2,jta:有JTA事务管理器 ...
事务与事务边界 hibernate实际上使用jdbc实现事务管理,这种事务只能用于一个数据库。 tx = session.beginTransaction();这句代码内部实际就是connection.setAutoCommit(false);的操作。 Hibernate是JDBC的轻量级封装,本身并不具备事务管理能力。 ...
Log4J 基本使用方法 先看一个log4j.properies配置文件: #定义输出级别和输出平台 log4j.rootLogger=INFO,stdout,fileout #设定stdout输出平台 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss} ...
Hibernate二级缓存攻略(转)  很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。   我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。   hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。   二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置 hib ...
hibernate的内部缓存 hibernate的缓存分为两级:一级缓存(session级)和二级缓存(sessionFactory级) 缓存的作用主要用来提高性能,可以简单的理解成一个Map;使用缓存涉及到三个操作:把数据放入缓存,从缓存中获取数据,删除缓存中的无效数据。 一级缓存,Session级共享。 save,update,saveOrUpdate,load,get,list,iterate,lock这些方法都会将对象放在一级缓存中。一级缓存不能控制缓存的数量,所以要注意大批量操作数据时可能造成内存溢出;可以用evict,clear方法清除缓存中的内容。 例: Person p ...
load方法的懒加载及原理分析 懒加载的目的,减少不必要的数据库查询,提升性能。 借用前面组件映射中的user类,对测试代码做写改变: public class Main { public static void main(String[] args) { User user = new User(); user.setBirthday(new Date()); saveUser(user); User u = query(1); u.getUserName(); } public ...
《四》每个具体类映射一张独立的表(union-subclass),即表与子类之间的独立一对一关系 所有的子类的表中的信息都是完整的,不需要对表进行关联了。 person.hbm.xml的配置如下: <?xml version="1.0" encoding="UTF-8"?> ...
Global site tag (gtag.js) - Google Analytics