登录 免费注册

Java学习笔记之MyBatis

2019-07-26 10:46:31 292 评(0) 阅(261)

1、MyBatis是什么?

 MyBatis是apache一个开源的ibatis,2010年迁移到Google,改名为MyBatis,也就是MyBatis在ibatis上改进的,后来有迁移到了GitHub。MyBatis是一个优秀的持久层框架,它对jdbc操作数据库过程进行封装,使开发者只需要关注SQL本身。不需要过多精力关注如:注册驱动,创建connection,创建statement等繁琐的代码。MyBatis通过xml或注解方式将执行的各种statement配置,然后通过java对象和statement中的sql进行映射最终生成sql语句,最后,通过MyBatis框架执行sql语句将结果映射给java对象并返回。

2、使用MyBatis的优点和缺点?

优点:

(1)代码量少,不需要手动开关连接。

(2)和各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。

(3)解耦,便于统一管理,可重用。

(4)提供映射标签,支持对象与数据库的ORM字段关系映射.

缺点:

(1)sql语句编写工作量大,对开发人员的功底有一定的要求。

(2)sql语句依赖于数据库,不可随意更换数据库。

3、MyBatis中的#{}和${}有什么区别?

#是预编译处理,$是字符串替换

MyBatis 在处理#时, 相当于给字符串加上双引号,如:order by #{user_id},如果传入的是1,那么解析的结果是order by "1"。

MyBatis 在处理$时, 就是替换变量的值,如:order by ${user_id},如果传入的是1,那么解析结果就是1.

另外,#能有效的防止SQL注入。

4、MyBatis适用的场景?

(1)需求变化多的项目或者对性能要求高的

(2)MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案





声明:

文章内容版权归作者所有,不代表本站任何观点;任何转载需经过作者授权。

领取人
福尔摩斯小可爱
用户评论 共 0 条评论
您尚未 登录
阅读排行