Mybatis #和$的区别

1.#和$的区别  #相当于给数据加上引号,$不会对数据做处理

  1.例如 #userId# userId 值要是 111 则 SQL中就会变成 "111"  而 $userId$ 将还是  111

  2.#能在很大程度上防止SQL注入

  3.$一般用于传递数据库对象,如表名 

  一般情况下,能使用#的不要使用$

2.myBatis编程步骤

  1.创建SqlSessionFactory

  2.通过SqlSessionFactory 创建 SqlSession

  3.通过SqlSession 执行数据库操作

  4.SqlSession.commit()提交事务

  5.SqlSession.close()关闭会话

3.JDBC有哪些不足,MyBatis是如何解决的

  1.数据库连接的创建和销毁浪费系统资源,mybatis 可配置数据库连接池

  2.sql语句写在代码中不易维护,使用mybatis可以将sql配置在Mapper.xml文件中,与java分离

  3.像sql中传递参数麻烦,因为where条件不一定,可能多也可能少,占位符需要和参数一一对应 ,myBatis可以将java对象映射到sql语句中

  4.对结果集解析麻烦,解析前需要遍历,mybatis可将sql执行结果直接映射java的pojo对象

原文地址:https://www.cnblogs.com/zhaiyt/p/10519528.html