java面试题

目录

mybatis的dao层接口怎么和xml文件一一映射?

mybatis#{}和${}的区别?

mybatis什么情况中要用${}?

如何跳出两层for循环执行后面的代码?

spring为什么要用事物?

spring实现事物的方式有哪些?

java中switch小括号中表达式可以是什么类型?

aop面向切面编程的常用注解有哪些?


mybatis的dao层接口怎么和xml文件一一映射?

mapper标签的namespace属性是mybaits映射文件的唯一标识,与接口对应

mybatis#{}和${}的区别?

#是占位符 ,sql先进行预编译,最后才把变量传进去,能后防止sql注入

$是直接拼接,直接将变量拼接进去,不能防止sql注入

mybatis什么情况中要用${}?

就是当我们需要拼接的变量上不能带单引号时,就必须使用${},其他情况都尽量使用#{}的方式,因为${}会有sql注入的问题

常见的使用${}的情况:

1.当sql中表名或字段是从参数中取的情况

2.order by排序语句中,因为order by 后边必须跟字段名,这个字段名不能带引号,如果带引号会被识别会字符串,而不是字段。

如何跳出两层for循环执行后面的代码?

使用java标签,java标签只能用在循环上面定义在循环开始的位置配合break或continue使用

spring为什么要用事物?

因为要保证事物的四大特性原子性、一致性、持久性、隔离性

spring实现事物的方式有哪些?

声明式事务、编程式事物。

java中switch小括号中表达式可以是什么类型?

JDK 1.5以前:x 只能是byte, short, char, int
JDK 1.5之后:x 的类型也可以是枚举类型啦!
JDK 1.7之后:x 的类型又多了一个String类型~

无论哪个版本的JDK,都是不支持 long,float,double,boolean 这个一定要注意!

aop面向切面编程的常用注解有哪些?

@Aspect:
作用:把当前类声明为切面类。
@Before:
作用:把当前方法看成是前置通知。
属性:
value:用于指定切入点表达式,还可以指定切入点表达式的引用。
@AfterReturning
作用:把当前方法看成是后置通知。
属性:
value:用于指定切入点表达式,还可以指定切入点表达式的引用。
@AfterThrowing
作用:把当前方法看成是异常通知。
属性:
value:用于指定切入点表达式,还可以指定切入点表达式的引用。
@After
作用:把当前方法看成是始终通知。
属性:
value:用于指定切入点表达式,还可以指定切入点表达式的引用。
@Around
作用:把当前方法看成是环绕通知。
属性:
value:用于指定切入点表达式,还可以指定切入点表达式的引用。
@Pointcut
作用:指定切入点表达式
属性:
value:指定表达式的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值