初次认识my batis,觉得它很神秘。一会儿需要用到xml配置文件,一会儿需要设置别名,一会儿需要用到全路径。在做项目中慢慢领悟到my batis的好处,它可以替代持久化接口实现类,减少了代码量,克服了代码冗杂的弊端。下面是我对用my batis替代持久化接口实现类的流程的理解:
1、设置配置文件(config.xml):在此配置文件中需要设置映射问价的全路径,其中source和class的区别在于:class映射的路径与此配置文件在同一个包中,source映射的路径与此配置文件不在同一个包中。另外,在此配置文件中可以为model设置别名,主要方便后面的映射文件对model对象的调用。
2、设置映射文件:如(IStudentDao.xml),映射文件与持久化接口通过命名空间相连接,也就是说,nameSpace中设置的全路径是该映射文件映射的持久化接口的全路径;在持久化实现类中定义的方法,可以在此映射文件中建立与数据库的联系,具体而言,利用select one或者select list书写sql语句,对于select语句中的属性的书写要根据sql语句返回的类型或者参数,对于返回类型,主要有两种方式:一种是resultType,这种方式的返回类型很简单,一般是简单的数据类型或者实体类,而另一种是resultMap,它的返回类型可以是实体类,也可以是集合,而对于有外键联系的数据库表一般采用这种方式的返回类型。
3、xml文件的调用有固定模式,需要利用sqlSession调用getMapper()方法,在方法内部需要书写接口名称.class,最后.需要调用的方法。值得注意的是,方法的参数要根据映射文件中select语句中的parameterType或者parameterMap中的数据。