一、说明
在我们用Hibernate操纵数据库的时候,由于数据库表格有多种对应关系:一对一、一对多、多对多。所以在逆向生成对象关系时有几点要注意。
二、对象关系生成
1.一对一
在创建好数据库表的基础上(注意:表之间的要添加外键的属性是unique约束)打开MyEclipse的Hibernate界面,逆向生成时按如图选项选择。
more >>
这是对线程的一个简单的测试,对于同步资源i,给它上互斥锁synchronized,创建两个线程在i<20时随机的输出i,以下程序不会按照预想的在i不同时乱序输出1-20,它会让互斥锁失效。使得有的数可能重复输出,有的数可能没输出。
代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28public class SampleTestOfThread implements Runnable{
public static Integer i=new Integer(0);//声明一个Integer对象
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
synchronized(i) {
if(i<20) {
i++;
System.out.println("i="+i);
}else {
break;//超出20跳出循环
}
}
}
}
//入口方法
public static void main(String[] args) {
System.out.println(" 4dada"+i);
Thread t1=new Thread(new SampleTestOfThread());
Thread t2=new Thread(new SampleTestOfThread());
t1.start();
t2.start();
}
}
1.概念:直接或间接的调用自身。
2.递归实现原理(个人理解):类似于栈,先进后出,递归先把一个问题分成n个规模,先将这n个问题按n,n-1,…….1,放入栈中,然后从1开始解,这是得到一个结果,返回给返回给2(第二层),第二层在此基础上计算,再返回一个值,最终到n,结果也就出来了。
3.说明:
(1)递归每一次调用自身,都会进一步得到最终结果,适用于具有一定规律,且可以将问题划分为多个与元问题相同的子问题。
(2)这类问题往往用递推可以解,但是你会发现在n不确定时无法入手,即便在n确定的情况下,如果n过大,则会导致递推的代码量十分臃肿。所以之所以用递归而非递推是由于一般递推的步骤过于繁琐。运用递归可以简化代码,但同样有缺点,就是问题规模很大时,问题计算的时间复杂度就会越高,总之就是效率不高,不适合处理子问题数量十分大的问题。
more >>
这是一个简单的拦截器的实例,通过拦截器实现用户权限的限制,只有用户名为zx的用户在登陆后可以访问note.jsp,其他用户如果访问这个界面就会跳回到登陆界面。下面我们来实现这个实例:
1 | public class LoginInterceptor extends AbstractInterceptor { |
在Struts2中我们可以自定义一个拦截器来拦截特定的方法,下面我们来实现一个基本的拦截器,并调用它,并调用未拦截的方法进行对比。
1.创建拦截器类:新建包indi.zx.Interceptor,在该包中创建LoggerInterceptor类,该类继承自MethodFilterInterceptor,用来显示的显示拦截器调用了该方法。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19/**
* @author XiaoHuZiXianShengZx
* 自定义拦截器用于拦截特定的方法
*
*/
@SuppressWarnings("serial")
public class LoggerInterceptor extends MethodFilterInterceptor{
@Override
protected String doIntercept(ActionInvocation chain) throws Exception {
// TODO Auto-generated method stub
System.out.println("------前置拦截操作------");
String result=chain.invoke();//执行下一个操作,如:调用其他action或执行其他拦截器
System.out.println("------后置拦截操作------");
return result;
}
}
在我们编辑word文档时会遇到编辑页眉和页码,此时你会发现,如果是一般方法,只会首页不同,目录页还是会出现页码和页眉,为了避免这种情况,下面我们来看一下在任意页设置页码和页眉。
1. 把光标放到要添加第一页的地方的段首。
2. 选择页面布局–>分隔符—>下一页,此时会在你放光标的那一页的上面出现空白的一页
more >>
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true