mybatis学习官网:

1、如果项目中使用maven管理,又引用 了mybatis框架,

下面是mybatis官网给出的 mybatis在maven中央仓库的坐标原文

详情见连接:https://code.google.com/p/mybatis/wiki/DocMavenTutorial

MyBatis & Maven

The following is the Maven group, artifact and version for MyBatis.

  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.1.1</version>
  </dependency>

If you are looking to try the latest and greatest you can use our snapshot repository. Just add the following to your project's pom.xml or to a profile defined in your settings.xml.

<repository>
    <id>mybatis-snapshot</id>
    <name>MyBatis Snapshot Repository</name>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url></repository>

2、What is the difference between #{...} and ${...}?

MyBatis interprets #{...} as a parameter marker in a JDBC prepared statement. MyBatis interprets ${...} as string substitution. It is important to know the difference because parameter markers cannot be used in certain places in SQL statements. For example, you cannot use a parameter marker to specify a table name. Given the following code:

Map<String,Object> parms =newHashMap<String,Object>();
parms.put("table","foo");
parms.put("criteria",37);List<Object> rows = mapper.generalSelect(parms);
<selectid="generalSelect"parameterType="map">
  select * from ${table} where col1 = #{criteria}
</select>

MyBatis will generate the following prepared statement:

select*from foo where col1 =?

Important: note that use of ${...} (string substitution) presents a risk for SQL injection attacks. Also, string substitution can be problematical for complex types like dates. For these reasons, we recommend using the #{...} form whenever possible.

最新文章

  1. css不常用重要属性
  2. HRBUST 1326 循环找父节点神术
  3. eclipse查看jdk源码,及反编译查看
  4. iis7下.Net框架版本设置
  5. 微软CEO史蒂夫&#183;鲍尔默(Steve Ballmer)在12个月内退休
  6. Git远程仓库的使用(三)
  7. Linux 下的多线程编程
  8. 关于iptables的u32匹配
  9. Building [Security] Dashboards w/R &amp; Shiny + shinydashboard(转)
  10. 如何搭建modem编译环境
  11. 在后台业务管理系统中使用Autofac实现微信接口的处理
  12. 三、调试IIS启动域名配置
  13. js 性能篇--dom 重绘 重排 节流
  14. Django深度剖析
  15. onclick 事件
  16. TP框架做网页静态化
  17. Javascript php 异常捕获
  18. HandlerSocket
  19. Ext.encode 与 Ext.decode .
  20. centos7下忘记mysql5.7密码

热门文章

  1. bzoj3551 3545
  2. 关于ie6对齐
  3. HNOI2002营业额统计(平衡树)
  4. HDU 2063 过山车 (最大匹配,匈牙利算法)
  5. noip2006提高组题解
  6. mysql违背了唯一约束
  7. 【js】js方法中直接跳转到servlet
  8. 【转】那些不能错过的Xcode插件 -- 不错不错
  9. 连接Excel时出现未指定的错误
  10. Ubuntu消息菜单(MessagingMenu)API