一、Mybatis的介绍
1、mybatis原名是ibatis,是apache的开源项目。ibatis改成mybatis不仅仅是名称的改变,mybatis在功能上也有升级。
2、mybatis是一个持久层的框架,mybatis框架和关系型数据库进行交互,将数据持久化到关系型数据库中。
3、mybatis目前 在github(https://github.com/mybatis/mybatis-3/releases)托管。
二、环境准备
1、下载Mybatis
地址:https://github.com/mybatis/mybatis-3/releases
这里是mybatis-3.2.7版本的。
2、开发工具Eclipse
3、建立一个java项目或者web项目,导入jar包
4、JDK版本jdk1.7.0_80
5、日志文件准备log4j.properties,采用DEBUG模式是为了能详细显示错误信息
相应jar包
日志文件
6、Mysql原始数据
数据库和表以及表数据可以自行设置,这里只为了达到演示效果
三、需求准备以及配置文件
根据用户id查询一个用户详细信息
User类
User.java文件中五个属性,分别和数据库的列名对应,数据库id是自增主键
接口类UserMapper.java
UserMapper.java中只有一个findUserById方法,传入user的id进行查询,这里采用mapper代理方式,没有UserMapper的实现类。UserMapper.xml文件中的namespace属性为相应Mapper的全限定名(UserMapper.java),#{}是mybatis中的占位符,防止sql注入。
UserMapper.xml配置文件
mapper标签的namespace属性值这里设置的是UserMapper的全限定名,这样做的目的是配置文件可以通过接口的全限定名找到对应的接口。采用mapper代理的方式开发需要注意一下几个点:
a、sql的id和UserMapper.java的方法名一致;
b,接口方法传入的参数类型和sql的parmeterType类型保持一致;
c,接口方法的返回值类型和sql的resultType的类型一致;
d、如果返回值类型是一个List集合,resultType的值为List集合单条记录所对应的pojo对象,可以使用全限定名也可以使用别名
配置文件存放目录以及包名称:
配置文件存放路径以及包名称
配置文件详细信息:
db.properties配置文件详情
Mybatis全局配置文件SqlMapConfig.xml
1、配置文件中的标签有先后顺序,如果顺序错误,会报错,鼠标移动到红色差号处会有提示,按照提示顺序进行放置。
2、通过<typeAliases>来配置别名,一般用在parameterType和resultType属性,值为对应的实体类的类名或者类名首字母小写
3、UserMapper.xml文件有三种引入方式,上图也有详细介绍,这里采用的是包扫描的方式,这种方式配置信息最好,没必要给每个mapper都进行配置
四、测试环节
准备工作做完以后,就可以写测试用例了
测试用例
测试结果:
测试结果展示
测试结果与数据库信息一致
数据库原始信息
其他的增删查改原理和查询一样,可以自行配置。