Mybatis自定义类型处理器

package zhang.mybatis.entities;

import com.mysql.jdbc.jdbc2.optional.CallableStatementWrapper;

/**

  • 实际的开发过程中向数据库保存的是枚举的状态码
  • 因此要自定义类型处理器
  • @author Administrator

*/
public enum CustomerStatus {
LOGN(100,“登入”),LOGOUT(200,“登出”);

private Integer code;
private String msg;
private CustomerStatus(Integer code,String msg){
	this.code=code;
	this.msg=msg;
}
public Integer getCode() {
	return code;
}
public void setCode(Integer code) {
	this.code = code;
}
public String getMsg() {
	return msg;
}
public void setMsg(String msg) {
	this.msg = msg;
}
@SuppressWarnings("unused")
public static CustomerStatus getStatusByCode(Integer code){
	switch (code) {
	case 100:
		return CustomerStatus.LOGN;
	case 200:
		return CustomerStatus.LOGOUT;
	default:
		return CustomerStatus.LOGOUT;			
	}
}

}

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 开启驼峰命名 -->
<settings>
	<setting name="mapUnderscoreToCamelCase" value="true" />
	<setting name="lazyLoadingEnabled" value="true" />
	<!-- 启用延迟加载查询的策略,在分部查询的基础上才能起作用 -->
	<setting name="mapUnderscoreToCamelCase" value="true" />
	<setting name="aggressiveLazyLoading" value="false" />

</settings>
<!--指定类型处理器在处理customerstatus的时候 -->
<typeHandlers >
	<typeHandler handler="zhang.mybatis.typehanders.MyCustomerStatusTypeHander" javaType="zhang.mybatis.entities.CustomerStatus"/>
</typeHandlers>
<plugins>
	<!-- 使用分页的插件 -->
	<plugin interceptor="com.github.pagehelper.PageHelper">
		<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
		<property name="dialect" value="mysql" />
	</plugin>
	<!-- 
	<plugin interceptor="zhang.mybatis.Interceptors.MyFirsterInterceptor">
		<property name="username" value="zhangyukang" />
		<property name="password" value="123456" />
	</plugin>
	 -->
</plugins>
<!-- 配置坏境 -->
<environments default="dev_mysql">
	<environment id="dev_mysql">
		<!-- 配置事务管理器 -->
		<transactionManager type="JDBC"></transactionManager>
		<!-- 配置数据源 -->
		<dataSource type="POOLED">
			<property name="driver" value="${jdbc.driverclass}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
		</dataSource>
	</environment>
	<environment id="dev_orcle">
		<!-- 配置事务管理器 -->
		<transactionManager type="JDBC"></transactionManager>
		<!-- 配置数据源 -->
		<dataSource type="POOLED">
			<property name="driver" value="${oracle.driverclass}" />
			<property name="url" value="${oracle.url}" />
			<property name="username" value="${oracle.username}" />
			<property name="password" value="${oracle.password}" />
		</dataSource>
	</environment>
</environments>
<!-- 配置连接多种数据库 -->
<databaseIdProvider type="DB_VENDOR">
	<!-- 注意此处容易出错:原因将MySQL写成了Mysql -->
	<property name="MySQL" value="mysql" />
	<property name="SQL Server" value="sqlserver" />
	<property name="DB2" value="db2" />
	<property name="Oracle" value="oracle" />
</databaseIdProvider>

<!-- 映sql映射文件 -->
<mappers>
	<!-- 批量注册sql映射文件 -->
	<package name="zhang.mybatis.dao" />
</mappers>

在这里插入代码片

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值