mybatis+mysql 저장 프로 세 스 를 사용 하여 유수 번 호 를 생 성 하 는 실현 코드
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetSerialNo`(IN tsCode VARCHAR(50),OUT result VARCHAR(200) )
BEGIN
DECLARE tsValue VARCHAR(50);
DECLARE tdToday VARCHAR(20);
DECLARE nowdate VARCHAR(20);
DECLARE tsQZ VARCHAR(50);
DECLARE t_error INTEGER DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
START TRANSACTION;
/* UPDATE sys_sno SET sValue=sValue WHERE sCode=tsCode; */
SELECT sValue INTO tsValue FROM sys_sno WHERE sCode=tsCode;
SELECT sQz INTO tsQZ FROM sys_sno WHERE sCode=tsCode ;
-- ,
IF tsValue IS NULL THEN
SELECT CONCAT(DATE_FORMAT(NOW(),'%y%m'),'0001') INTO tsValue;
UPDATE sys_sno SET sValue=tsValue WHERE sCode=tsCode ;
SELECT CONCAT(tsQZ,tsValue) INTO result;
ELSE
SELECT SUBSTRING(tsValue,1,4) INTO tdToday;
SELECT CONVERT(DATE_FORMAT(NOW(),'%y%m'),SIGNED) INTO nowdate;
--
IF tdToday = nowdate THEN
SET tsValue=CONVERT(tsValue,SIGNED) + 1;
ELSE
SELECT CONCAT(DATE_FORMAT(NOW(),'%y%m') ,'0001') INTO tsValue ;
END IF;
UPDATE sys_sno SET sValue =tsValue WHERE sCode=tsCode;
SELECT CONCAT(tsQZ,tsValue) INTO result;
END IF;
IF t_error =1 THEN
ROLLBACK;
SET result = 'Error';
ELSE
COMMIT;
END IF;
SELECT result ;
END;
dao
Integer getFaultNo(Map<String, String> parameterMap);
xml
<update id="getFaultNo" parameterMap="getFaultMap" statementType="CALLABLE">
CALL GetSerialNo(?,?)
</update>
<!--
parameterMap.put("tsCode", 0);
parameterMap.put("result", -1);
-->
<parameterMap type="java.util.Map" id="getFaultMap">
<parameter property="tsCode" mode="IN" jdbcType="VARCHAR"/>
<parameter property="result" mode="OUT" jdbcType="VARCHAR"/>
</parameterMap>
호출
Map<String, String> parameterMap = new HashMap<String, String>();
parameterMap.put("tsCode", "a");
parameterMap.put("result", "-1");
faultMapper.getFaultNo(parameterMap);
// insert ( )
if (!parameterMap.get("result").equals("-1") &&
!parameterMap.get("result").equals("Error")) {
//
} else {
throw new RuntimeException();
}
총결산위 에서 말 한 것 은 소 편 이 소개 한 my batis+my sql 은 저장 과정 을 사용 하여 흐름 번 호 를 만 드 는 실현 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.