今天,我们来详细谈谈mybatis的主配置文件,在上一篇博文中我们已经对这个文件的命名和位置进行了详细的阐述,今天我们主要是说说这个文件中的标签的作用和用法.
在一般的开发过程中,我们通常会把数据库的四大连接参数保存在一个单独的文件中,我个人一般习惯把它们方法一个名为jdbc.properties的文件中,文件的位置一般在src下,这个文件中的数据是一键值对的形式出现的,但是我们最好把它的键设置成二级或者是多级的,而不要是一级,否则程序在运行的过程中会初心异常,然后我们可以在主配置文件中通过
起别名的具体操作如下,
UNPOOlED :不使用连接池技术.JNDI:(Java Naming-Dirctory Interface java命名目录接口),这个是一个容器.
映射文件在主配置文件中的注册方式有3种:
(1)
(2)
(3)第三种在使用的时候有三个要求:
(1)映射文件要与Dao接口在同一个包下
(2)映射文件名要和Dao接口的实现类的简单类名保持相同
(3)映射文件中的
当有多个映射文件时,我们需要为每一个映射文件注册,就需要写多个
(1)映射文件要与Dao接口在同一个包下
(2)映射文件名要和Dao接口的实现类的简单类名保持相同
(3)映射文件中的
(4)使用的必须是动态的mapper
============================================================================
映射文件mapper.xml浅析
(1)我们的标签中可以不使用property属性,应为我们在传参数的时候,框架已经知道了我们的参数的类型.
(2)如果Sql语句中设计到了Values,那么其内容必须是在"#{}"填写,其内容可以是对象的属性名,如果参数是基本类型,那么可以写任意值,若果参数是map类型,还可以写map的key值,如果参数是map的key,但是key的类型是对象,我们还可以写map的key值得属性值.
注意:我们可以获取SQLSession的对象的过程包装成工具类,和JDBC获取Connection的过程类似,在工具类中,我们一般把方法定义成静态的,并且工具类中的异常信息我们一般有两种处理方法,一是使用throws把异常抛给调用者,二是使用try/catch异常信息内部消化,我们一般使用throws来处理工具类中的异常,严格来说,工具类并不是我们的业务类,我们如果采用了try/catch,那么在使用的过程中,如果,工具类出现了异常,便会把异常信息自己消化,然而我们的调用者却不知道工具类发生了异常,这种情况非常不利于代码的后期维护.
这里介绍一个概念:
重量级组件:如果以个组件在创建和销毁的过程中都会消耗大量的系统资源(一般包括的是CPU和运行内存),这样的组件就是SQLSessionFactory组件.