什么是 mybatis:
答:mybatis是一个持久层的 orm 框架,它支持普通sql,存储过程 ,是一个先进的orm映射框架,mybatis几乎消除了所有的jdbc代码,能够手工设置参数和回收结果,mybatis能够使用 xml 和 annotation的形式传递参数,把数据库表记录映射到 java 实体对象上。
jdbc和 mybatis相比有哪些优点:
答:mybatis实现了sql代码和 java 代码的解耦合,它将 sql代码统一配置到 xml 文件当中,方便管理,而jdbc则需要 使用 preparedStatement进行结果的查询。
mybatis支持一对一、一对多的复杂映射关联查询,比jdbc封装效率要高。
mybatis中的 # 和 $ 有什么区别?
#{} 这样传递参数是带有类型的参数进行传递的工作,可以放置 sql 注入漏洞 攻击,即有点相当于 jdbc 查询数据库的 preparedStatement ,会对代码进行预编译。
而 ${} 这个 传递参数是直接把string字符串传递过来,没有设置类型,都把它当成string传递,防止不了sql注入漏洞。