【SSM-MyBatis框架】SqlMapConfig.xml的配置
1.配置内容:SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性对象) transactionManager(事务管理) dataSource(数据源) mappers(映射器)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 加载属性文件--> <properties resource="db.properties"></properties> <!-- 全局参数配置,在需要时候进行配置 --> <!-- <settings></settings> --> <!-- 别名设置 --> <!-- 单个配置 type:类型路径 alias:别名--> <!-- <typeAliases> <typeAlias type="cn.edu.hpu.ssm.po.User" alias="user"/> </typeAliases> --> <!-- 批量设置(推荐使用) 指定包名,mybatis自动扫描扫描po类,自动定义别名。默认为类名(首字母大写或小写) --> <typeAliases> <package name="cn.edu.hpu.ssm.po"/> </typeAliases> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理,事物控制有mybatis控制--> <transactionManager type="JDBC" /> <!-- 数据库连接池,由mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <!-- 配置mpper,加载映射文件 --> <!-- <mappers> <mapper resource="sqlmap/User.xml"/> <mapper resource="mapper/UserMapper.xml"/> </mappers> --> <!-- 通过mapper接口,加载映射文件 规范:mapper接口名必须与mapper。xml文件名相同,且放在同一包下 前提是使用mapper代理的方式 --> <mappers> <mapper class="cn.edu.hpu.ssm.mapper.UserMapper"/> <mapper class="cn.edu.hpu.ssm.mapper.OrdersMapperCustom"/> </mappers> </configuration>
1.sqlMapConfig可以引用Java的属性配置文件:(db.properties)这里是对数据库的参数进行一些配置,为了防止硬编码不利于系统的优化。(在与springmvc整合后,由spring管理)
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=123456
2.setting全局参数配置:mybatis运行时可以调整一些运行参数。如:二级缓存、开启延迟加载。 全局变量将影响mybatis的运行:
3.typeAliases(别名)(重点)在mapper.xml中,定义很多的statement,statement需要ParameterType和ResultType指定输入参数类型和输出参数类型,如果指定类型时,输入参数的全路径,不方便开发,可以针对parameterType和ResultType指定的类型定义一些别名。在mapper.xml中,通过别名引用,方便开发。 Mybatis默认支持的别名:
自定义别名: 1.单个别名定义:
<typeAliases> <typeAlias type="cn.edu.hpu.ssm.po.User" alias="user"/> </typeAliases> 2.批量别名定义:
<!-- 批量设置(推荐使用) 指定包名,mybatis自动扫描扫描po类,自动定义别名。默认为类名(首字母大写或小写) --> <typeAliases> <package name="cn.edu.hpu.ssm.po"/> </typeAliases> 4.typeHandlers(类型处理器)用于Java类型与jdbc类型的转换,mybatis自带的类型处理器基本满足日常所需,不需要另行定义。 mybatis支持的类型处理器:
5.Mappers(映射配置)1.通过resource加载单个映射文件:
<mappers> <mapper resource="sqlmap/User.xml"/> <mapper resource="mapper/UserMapper.xml"/> </mappers> 2.通过mapper接口加载单个mapper:(指定mappers所在的包名,mybatis自动扫描mapper包下面的所有mapper接口。规范:mapper接口名必须与mapper.xml文件名相同,且放在同一包下。前提是使用mapper代理的方式 ) <!-- 通过mapper接口,加载映射文件 规范:mapper接口名必须与mapper.xml<span style="color:#ff0000;">文件名相同,且放在同一包下</span> 前提是使用mapper代理的方式 --> <mappers> <mapper class="cn.edu.hpu.ssm.mapper.UserMapper"/> <mapper class="cn.edu.hpu.ssm.mapper.OrdersMapperCustom"/> </mappers>
3.通过package批量加载mappers <package name="cn.edu.hpu.ssm.mapper" />
??
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |