![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MyBatis
Damon__Wang
这个作者很懒,什么都没留下…
展开
-
MyBatis
1. #与$的区别:1. #{} 在动态解析的时候, 会解析成一个参数占位符。用?来代替。将传入的数据当成字符串,将入参自动增加双引号。如 where id=#{id},传入的值是11,那解析的时候变为 where id="11".#{}使用反射机制,相当于params.getIem().getName();$将传入的数据直接显示在sql中。仅仅是一个string类型的占位符。如order by ...原创 2018-05-14 09:48:51 · 182 阅读 · 0 评论 -
MyBatis源码解析-configuration
在spring-mybatis.xml配置文件中,<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="原创 2018-05-14 09:49:48 · 328 阅读 · 0 评论 -
MyBatis源码解析-configuration
在spring-mybatis.xml配置文件中,<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="原创 2018-05-14 09:52:04 · 161 阅读 · 0 评论 -
MyBatis源码分析-MapperProxy
在MyBatis中,Mapper是一个接口,不是实体类。而在Java中,接口是无法运行的,所以MyBatis运用了动态代理模式来运行Mapper接口。关于动态代理,可以看这篇 深度解析JDK动态代理。MyBatis首先创建了一个MapperProxy类,实现了InvocationHandler接口。就相当于上篇文章的MyHandler类。由于动态代理只能代理有接口实现的类。需要传入要代理的接口,所...原创 2018-05-07 17:12:43 · 219 阅读 · 0 评论