传统实现方式

 

具体操作如下

 

第一步: 在src/main/java目录下新建com.huanf.dao.UserMapper接口,写入如下

 

第二步: 右键java目录,新建com.huanf.domain.User类,写入如下

 

第三步: 右键dao目录新建impl.UserMapperImpl类,写入如下

 

第四步: 右键com.huanf目录,新建service.ServiceDemo类,写入如下

 

第五步: 在src.main.resources目录下新建com/huanf/mapper目录,里面新建File,文件名为UserMapper.xml,写入如下

 

第六步: 右键resources目录,新建jdbc.properties文件,写入如下

 

第七步: 右键resources目录,新建sqlMapConfig.xml文件。写入如下

 

第八步: 在pom.xml里面写入如下

 

第九步: 在ServiceDemo类里面运行测试

 

代理开发方式

 

上面我们演示了'MyBatis的dao层实现'的传统实现方式,这种方式写的话,我们既要自己写接口,还要自己写实现类,过程麻烦 下面我们会演示'MyBatis的dao层实现'的代理开发方式,这种方式是企业开发的主流

 

一、 代理开发方式介绍

 

采用MyBatis的代理开发方式实现Dao层的开发,这种方式是后面我们进入企业的主流。Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口), 由MyBatis框架根据接口定义去创建接口的动态代理对象,代理对象的方法体跟Dao接口实现类方法相同。 简单说代理开发就是我们只需要编写Mapper接口,其它不用管交给MyBatis,例如实现类交给MyBatis来创建。注意我们编写的Mapper接口需要遵循以下规范:

1、Mapper.xml文件中的namespace与Mapper接口的全限定名相同

2、mapper接口方法名和Mapper.xml中定义的每个statement的id相同

3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同

4、Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同 注意下面的具体操作大部分是跟上面讲过的'传统实现方式'相同,下面要做的改动有: 删掉原dao目录下的impl目录、修改原UserMapper.xml、修改原ServiceDemo类

 

具体操作如下(我把全过程写下来了,代码基本没变,但是主要的变化就是上面那行我总结的改动)

 

第一步: 在src/main/java目录下新建com.huanf.dao.UserMapper接口,写入如下

 

第二步: 右键java目录,新建com.huanf.domain.User类,写入如下

 

第三步: 右键com.huanf目录,新建service.ServiceDemo类,写入如下

 

第四步: 在src.main.resources目录下新建com/huanf/mapper目录,里面新建File,文件名为UserMapper.xml,写入如下

 

第五步: 右键resources目录,新建jdbc.properties文件,写入如下

 

第六步: 右键resources目录,新建sqlMapConfig.xml文件。写入如下

 

第七步: 在pom.xml里面写入如下

 

第八步: 在ServiceDemo类里面运行测试

 

注意演示的是,UserMapper接口里面的方法不带参数的情况,如果想玩带参数的话,请前去看我写的具体项目(mybatis_dao)代码,这里记事本只写了一种情况