1.#和$的区别 #至关于给数据加上引号,$不会对数据作处理java
1.例如 #userId# userId 值要是 111 则 SQL中就会变成 "111" 而 $userId$ 将仍是 111sql
2.#能在很大程度上防止SQL注入数据库
3.$通常用于传递数据库对象,如表名 编程
通常状况下,能使用#的不要使用$mybatis
2.myBatis编程步骤app
1.建立SqlSessionFactoryxml
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对象