- 博客(21)
- 收藏
- 关注
原创 模拟AOP 面向切面编程
模拟AOP 面向切面编程假设我们有个类UserDAO 里面有个save方法我们现在要在这个方法前加一个日志当然我们可以创建一个日志类,然后将测试代码组合到源代码,不过这样已经改动了源代码了所以我们用动态代理来解决这个问题LogInterceptor.java===============public class LogInterceptor implements Inv
2013-12-19 16:21:36 1079
原创 load方法的懒加载及原理
load方法的懒加载及原理load()方法会返回一个代理对象,只有访问该对象属性的的时候才会真正的去访问数据库,这样就可以提高效率了如果要获取真正对象可以对其初始化 Hibernate.initialize(test);1 一对一 懒加载一对一查询主对象,是要关联到从对象表但是如果查询从对象,那么就不会有关系的2 一对多 懒加载 部门和员工假如我们要获取
2013-12-18 14:49:29 6979
原创 继承关系 为没个类映射一张表
继承关系 为没个类映射一张表(设计比较符合面向对象的原则,不过查询效率比较低,空间效率比较好)Employee.hbm.xml===================
2013-12-18 14:47:14 869
原创 继承关系 整个继承数映射到一张表
继承关系 整个继承数映射到一张表(有点执行效率比较高因为只对一张表操作,但是缺点就是浪费空间)比如:Employee->Skill,Sallesemployee.hbm.xml======================= Many2one.java==========================测试
2013-12-18 14:45:57 1080
原创 模拟一个简单的spring(依赖注入)
一 模拟一个spring(依赖注入)UserDAO.java============用于访问数据库的抽象,是一个接口public interface UserDAO {public void save(User u);}UserDAOImpl.java=======这个是它的具体实现(设计成接口有利于实现多种数据的访问1)public class UserDAOIm
2013-12-18 14:41:38 1745
原创 hibernate 关联映射 多对一
关联映射 多对一 比如employee --- department1 我们先创建一个employee类,其中要多一个depart 属性用于对应departmentpublic class Employee {private int id;public int getId() {return id;}public void setId(int id) {this
2013-12-11 10:57:42 716
原创 实体类或属性名与数据库关键字冲突问题
实体类或属性名与数据库关键字冲突问题 1 可以改表名2 不可以该表名 可以把它改成字符串3 字段名如果发生冲突的话也是 就是该 column
2013-12-11 09:13:10 5605
原创 hibernate使用hql 查询
有时候有些查询不一定是通过id查询的所以这个时候用session接口就不行了Hibernet 提更了hql 查询语句如:static void query(String name){Session s = null;try{//这些都是很可能出异常的s = HibernateUtil.getSession();String hql = "from Test as t
2013-12-11 09:11:18 1323
原创 hibernate中Sessiong接口中的get load persist 方法使用
get=====根据id获得表对象实例load === 加载表对象persist === 保存,类似于save(className)persist:如果没有开启事务的话,是不会插入数据的但是save会插入数据然后回滚,这是他们两个的区别public class Base {public static void main(String[] args){Te
2013-12-10 10:50:39 1250
原创 hibernate 优化
1 编写一个工具类用于生成配置,因为生成配置所消耗的资源比较多,所以不应该每次调用都生成HibernateUtil.java =================import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;pu
2013-12-10 09:51:40 978
原创 hibernate 小案例
Hibernate 的使用小案例1 建一个实体类 Test.javaimport java.util.Date;public class Test {private int id;public int getId() {return id;}public void setId(int id) {this.id = id;}public Str
2013-12-10 08:23:45 1420
原创 Mysql 几个比较常用的命令
1 查看表结构: show create table name;2 查看mysql支持的引擎 show engines; 其中InnoDB这种支持事务,必须开启事务才可以进行增删改查 MyISAM 就不支持外键和事务了,所以用hibernate不开启事务 都是可以执行sql语句。3 查看表 show tables4 查看表字段类型 desc tables
2013-12-10 08:13:03 1380
原创 Struct2 自定义拦截器
1 因为struct2 如文件上传,数据验证等功能都是由系统默认的defalutStack中的拦截器实现的,所以我们定义拦截器需要引用系统默认的defalutStack这样才不会影响struct2在的其它功能struts.xml /WEB-INF/page/message.jsp
2013-12-06 15:03:18 2406
原创 struct2动态方法调用和使用通配符定义action
动态方法调用和使用通配符定义action//1 如果想执行action中的其它方法可以使用http://127.0.0.1:8080/struct2341/test/helloworld!add.action //这样就会执行add这个方法了//2 使用通配符*,{1}就是第一个星号 //然后可以这样访问 http://127.0.0.1:8080/struct234
2013-12-05 10:40:05 2715
原创 struct2访问或添加request/session/application
访问或添加request/session/application1 通过ActionContext//这样放置public String execute() { ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("app","lll"); ctx.getSe
2013-12-05 10:38:52 1334
原创 stuct2接收请求参数
接收请求参数1:http://127.0.0.1:8080/struct2341/test/helloworld.do?id=123这样对于的action类就会通过反射机制获得id名字匹配;用表单也可以使用post提交的public class HelloWorldAction {private Integer id;private String message;pri
2013-12-05 10:37:14 1462
原创 Struct2处理的请求后缀
Struct2处理的请求后缀 //这样访问的时候就可以只用.do的后缀了,如:http://127.0.0.1:8080/struct2341/test/helloworld.do //这样.do 或 .action 都可以了
2013-12-05 10:33:36 1722
原创 Action中result的各种转发类型
Action中result的各种转发类型1,dispatcher:默认值 ,内部定向/WEB-INF/page/employeeAdd.jsp2,redirect:浏览器重定向/index.jsp3, redirectAction 重定向到action//同一个包下的actionname //不同包下的 XXX
2013-12-04 11:49:40 7303
原创 简单的stuct2测试helloworld
配置步骤:1 tomact:一定要吧路径配置到 Web-root ,不然会报错2 在src中导入struct.xml"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
2013-12-04 09:48:24 1540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人