一:mybatis简介
- mybatis是支持定制化SQL,存储过程以及高级映射的优秀的持久层框架;
- mybatis避免了几乎所有的jdbc代码和手动设置参数以及获取结果集;
- mybatis可以使用简单的XML或者注解用于配制和原始映射,将接口和Java的pojo(plain old java objects,普通的Java对象)映射成数据库中的记录;
二:mybatis优点
- mybatis是一个半自动化的持久化层框架;
- 在原来jdbc中,SQL夹在Java代码块里面,耦合度高导致硬编码内伤;维护不易而且实际开发需求中SQL是有变化的,频繁修改的情况多见。而mybatis中,SQL和Java编码分开,功能边界清晰,一个专注业务,一个专注数据。
三:sqlsession
使用sqlsessionfactory获取sqlsession对象,一个sqlsession对象代表和数据库的一次会话。
- sqlsession的实例不是线程安全的,因此是不能被共享的;
- sqlsession每次使用完成后需要正确关闭,这个关闭操作是必须的;
- sqlsession可以直接调用方法的id进行数据库操作,但是一般还是推荐使用sqlsession获取到dao接口的代理类,执行代理对象的方法,可以更安全的进行类型检查操作。
四:mybatis全局配置文件
mybatis的配置文件包含了影响mybatis行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:

- properties属性:如果属性不止在一个地方进行了配置,那么mybatis将按照下面的顺序来加载:在properties元素体内指定的属性首先被读取,然后根据properties元素中的resource属性读取路径下属性文件或者根据URL属性指定的路径读取属性文件,并且覆盖已经读取的同名属性。
- settings:影响mybatis行为
五:mybatis工作原理

六.编写代码
- 编写全局配置文件:sqlMapConfig.xml(配置数据库连接信息等)
- 编写映射文件:xxxMapper.xml(编写SQL语句)
- 编写dao层代码: xxxDao接口,xxxDaoImpl实现类(编写Mybatis API)
- POJO类(用来传递参数和映射结果对象)
- 单元测试
编写代码注意事项
- 所有的增删改操作都需要提交事务;
- 接口所有的普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上;
- 有时候根据业务的需求,可以考虑使用map传递参数;
- 为了规范操作,在SQL的配置文件中,我们尽量将Parameter参数和resultType都写上;

1550

被折叠的 条评论
为什么被折叠?



