mybatis實現mapper檔案熱部署

2022-09-13 14:51:13 字數 4047 閱讀 6764

**如下:

package

zttc.itat.user.utils;

import

j**a.io.ioexception;

import

j**a.io.inputstream;

import

j**a.lang.reflect.field;

import

j**a.util.hashmap;

import

j**a.util.map;

import

j**a.util.set;

import

j**a.util.concurrent.executors;

import

j**a.util.concurrent.scheduledexecutorservice;

import

j**a.util.concurrent.timeunit;

import

import

org.apache.ibatis.io.resources;

import

org.apache.ibatis.session.configuration;

import

org.apache.ibatis.session.sqlsessionfactory;

import

org.apache.ibatis.session.sqlsessionfactorybuilder;

import

org.apache.log4j.logger;

import

org.springframework.core.io.resource;

import

org.springframework.core.io.support.pathmatchingresourcepatternresolver;

/** *

@author

ycblus *

*/public

class

sqlsessioncache catch

(ioexception e)

}public

exception

catch

(ioexception e)

runnable runnable = new

runnable()

catch

(ioexception e)

}

} }

catch

(exception e)

} /*** 清空configuration中幾個重要的快取 *

@param

configuration *

@throws

exception

*/private

void removeconfig(configuration configuration) throws

exception

/*** 判斷檔案是否發生了變化 *

@param

resource *

@return

* @throws

ioexception

*/boolean ischanged() throws

ioexception

}

return

flag;

} };

scheduledexecutorservice service =executors

.newsinglethreadscheduledexecutor();

//第二個引數為首次執行的延時時間,第三個引數為定時執行的間隔時間

service.scheduleatfixedrate(runnable, 1, 10, timeunit.seconds);

} catch

(exception e)

}

public

void

setpackagesearchpath(string packagesearchpath)

public

void

setsqlsessionfactory(sqlsessionfactory sqlsessionfactory)

/*** 掃瞄xml檔案所在的路徑 *

@throws

ioexception

*/private

ioexception

/*** 清空configuration中幾個重要的快取 *

@param

configuration *

@throws

exception

*/private

void removeconfig(configuration configuration) throws

exception

@suppresswarnings("rawtypes")

private

void clearmap(class> classconfig, configuration configuration, string fieldname) throws

exception

@suppresswarnings("rawtypes")

private

void clearset(class> classconfig, configuration configuration, string fieldname) throws

exception

public

static

void

main(string args)

}

二.configuration.xml配置檔案這個配置檔案在這裡只作為掃瞄配置使用,可以看到其他配置都沒有,因為我是在spring裡面統一配置了

<?xml version="1.0" encoding="utf-8"?>

三.寫乙個servlet,在伺服器啟動時呼叫前面寫好的定時載入類。**如下:

此外,需在web.xml中加入這個servlet類,新增**如下:

另外,伺服器應該配置為reloadable="true",否則改動了東西也不會自動部署到服務上去的,但是這樣有乙個風險,就是reloadable="true"以後,如果伺服器主機效能差的話,容易掛掉!。

mybatis中mapper配置詳解

mybatis 的真正強大在於它的對映語句,也是它的魔力所在。由於它的異常強大,對映器的 xml 檔案就顯得相對簡單。如果拿它跟具有相同功能的 jdbc 進行對比,你會立即發現省掉了將近 95 的 mybatis 就是針對 sql 構建的,並且比普通的方法做的更好。1 select 查詢 查詢語句是...

mybatis框架Mapper配置詳解

標籤名稱 標籤作用 insert 用來對映插入語句 update 用來對映更新語句 delete 用來對映刪除語句 select 用來對映查詢語句 resultmap 用來將從資料庫結果集取出的資料對映到相應的實體物件的字段中 sql配置可以被其他語句引用的sql語句塊 cache 給定命名空間的快...

mybatis的mapper引數傳遞

簡單引數傳遞是指 actor selectactorbyid long id select id selectactorbyid resulttype canger.study.chapter04.bean.actor select actor id as id,first name as firs...