![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SSH
好给定性
新手上路,重在坚持
展开
-
hibernate N+1问题
什么时候会遇到1+N的问题?前提:hibernate默认表与表的关联方法是fetch=”select”,不是fetch=”join”,这都是为了懒加载而准备的。1)一对多() ,在1的这方,通过1条sql查找得到了1个对象,由于关联的存在 ,那么又需要将这个对象关联的集合取出,所以合集数量是n还要发出n条sql,于是本来的1条sql查询变成了1 +n条 。2)多对一 ,在多的这方,通过1条sql查询转载 2017-02-04 20:16:08 · 412 阅读 · 0 评论 -
Struts2 拦截器原理和配置
一、Struts2拦截器原理: Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的 拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。 比如:应用要求用户登陆,且必须为指定用户名才可以查看系统中某个视图资源;否则,系统直接转入登陆页面。对于上面的需求,可以在每个Action的执行实际处理逻辑之转载 2017-03-05 20:57:58 · 259 阅读 · 0 评论 -
java的动态代理机制
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口,一个转载 2017-03-08 22:24:34 · 220 阅读 · 0 评论 -
几个常见Mybatis面试试题
1)#{}跟${}区别 #{}:#将传入的数据当成一个字符串表示,相当于 PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1,id);相对安全,防止sql的注入; :{}:将传入的数据直接以sql语句显示,无法防止sql的注入,一般用于传入数据库对象exp: 1)#{}: select * fro原创 2017-02-25 21:44:48 · 1056 阅读 · 0 评论 -
hibernate三种状态
学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别,比如瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就是已经被保存到数据库中,离线状态就是数据库中有,但是session中不存在该对象。但是大家又是否对hibernate的sess转载 2017-02-22 23:36:00 · 196 阅读 · 0 评论 -
有关hibernate的几个面试问题
1)hibernate的get(),load()问题 当在缓存中没有找到相应的对象时,get会直接访问数据库并返回完全初始化好的对象,而load在缓存无此对象时,只会返回一个代理对象,只有在getid()之外的其他方法被调用时才会真正访问数据库,在一定的情况下提高了性能; 其重要区别其指,在未能发现符合条件的对象时,get方法会返回null,而load方法会抛出ObjectNotFo原创 2017-02-22 23:22:30 · 1751 阅读 · 0 评论 -
Struct2 helloworld及基本action
Struct2 helloworld及基本actionstruct2不再跟struct一样依赖于Servlet API和Struts API,提供了拦截器,类型转换器,且提供了jsp,freemaker等表现层技术1.web.xml struct2基本的web.xml配置如下<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9"原创 2017-03-01 22:00:01 · 443 阅读 · 0 评论 -
hibernate HQL
本文主要使用一些测试方法来讲解HQL的具体应用采用一对多的关系映射举例,两个类Dept{did,dname,emps},Emp{dept,eid,ename}Dept.hbm.xml中<hibernate-mapping package="com.tarena.demo.po"> <class name="Dept" table="t_dept"> <id name=转载 2017-01-22 19:59:17 · 172 阅读 · 0 评论 -
mybatis总结
使用jdbc开发时,和mybatis相比的不足 1,数据库连接,使用时就创建,不使用就释放,对数据库进行频繁连接开关和关闭,造成数据库资源浪费,影响数据库的性能 解决:使用数据库连接池管理数据库的连接 2,sql语句使用硬编码在Java程序中,修改sql语句,就需要重新编译java代码,不利于系统维护 解决:把sql语句放在xml配置文件中,修改sql语句也不需要重新编译java代码转载 2017-02-10 15:44:50 · 1002 阅读 · 0 评论 -
Hibernate总结
**hibernate设计及ORM(摘录)** ORM:Object–Relation–Mapping对象关系映射 对象指的就是Java的实体对象; 关系指的是关系型数据库。(Oracle、DB2、MySql、SqlServer) ORM的主要思想就是将程序中的对象和数据库中的数据实现自动映射 转换。利用ORM工具,在查询时,可以自动将记录封装成Java对象返原创 2017-02-06 15:18:41 · 196 阅读 · 0 评论 -
hibernate关联映射
hibernate实现ORM(对象关系映射)hibernate基本文件(xml非注解) 1)*.java映射类 2)*.hbm.xml 映射文件 3).cfg.xml数据库配置文件(+驱动加载.properties文件)*hibernate有7种映射关系(1)单向一对一 1)Annotation方法 exp:@Entitypublic class Author {原创 2017-01-16 15:23:53 · 223 阅读 · 0 评论