mybatis是一款orm类型的数据持久化框架,将jdbc的手动注册驱动、建立连接、获取sql执行对象、释放连接等操作进行了自动化装配,只需要进行简单的配置就可以实现自动注册驱动、建立连接、释放连接等操作,开发人员只需要关注sql语句的编写就可以了,而不用过多的关注数据库连接问题。mybatis支持自定义 SQL、存储过程以及高级映射,可以通过sql映射文件实现sql语句的编写,支持动态sql,用条件判断进行查询可以实现sql复用。
mybatis优势:
通过参数映射方式,可以将参数灵活的配置在SQL语句中的配置文件中,避免在Java类中配置参数。
通过输出映射机制,将结果集的检索自动映射成相应的Java对象,避免对结果集手工检索。
Mybatis可以通过Xml配置文件对数据库连接进行管理。
实现了sql和java代码的分离,通过配置文件实现sql语句查询。
获取mybatis对象:
通过sqlSession获取dao层接口实现类对象;
通过spring管理获取dao层接口实现类对象。
动态sql语句:
MyBatis的动态SQL是基于OGNL的表达式的。它对SQL语句进行灵活的操作,通过表达式判断来实现对SQL的灵活拼接、组装。
#{}与${}的区别:
#{}的作用主要是替换预编译语句(PrepareStatement)中的占位符?,可以防止sql注入。
${}符号的作用是直接进行字符串替换。