์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
Spring: ํ์ ์ฝ๋๊ฐ null์ผ ๋ ํ์ ์ฝ๋ ์ฝ์ด์ ๋ด์ญ ์๋ค๋ ๊ฒฝ๊ณ ์ฐฝ ๋์ฐ๊ธฐ ๋ณธ๋ฌธ
Spring: ํ์ ์ฝ๋๊ฐ null์ผ ๋ ํ์ ์ฝ๋ ์ฝ์ด์ ๋ด์ญ ์๋ค๋ ๊ฒฝ๊ณ ์ฐฝ ๋์ฐ๊ธฐ
yjyuwisely 2023. 5. 7. 01:15ํ์ฌ ํ ํ๋ก์ ํธ 1๋ก '์จ๋ผ์ธ ์ฆ๋ช
์ ์ถ๋ ฅ ์น์ฌ์ดํธ'๋ฅผ ๋ง๋๋ ๋ฐ
ํ์ ์ฝ๋๊ฐ ๊ฐ๊ฐ ๋ถ๋ฅ๋๊ณ , ์ฌ์ฉ์๋ ํ์ ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ ๊ฑฐ๊ธฐ์ ๋ง๋ ์ฆ๋ช
์๋ฅผ ์ถ๋ ฅํ ์ ์๊ณ ,
์ฌ์ฉ์๊ฐ ํ์ ์ฝ๋๊ฐ ์๋ ์ฆ๋ช
์ ๋ฐ๊ธ ์ ์ฒญ์ ๋๋ฅด๋ฉด ๋ด์ญ์ด ์๋ค๋ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฌ๋ค.
์๋์ฒ๋ผ ์ ์งํ์ด ๋์๋ค.
๊ทผ๋ฐ ์ฌ์ฉ์๊ฐ ํ์ ๊ฐ์
ํ ๋ก๊ทธ์ธ์ ํ์ ๋ ํ์ ์ฝ๋๊ฐ MySQL์์ null์ด์๋ค.
์ด์ ๋ ์์ฌ๊ฐ ๊ทธ ์ฌ์ฉ์์ ์ง๋จ์๋ฅผ ์์ฑํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. (๊ทธ๋ฅ ๋จ์ํ ํ์๊ฐ์
ํ ๋ก๊ทธ์ธํ ์ํฉ์ด๋ค.)
์ฐ์ CertificateMapper.xml์์
๊ธฐ์กด์ ์ฐ๋ inner join ๋์ ์ left join์ ์ด๋ค.
<!-- Issue.jsp -->
<select id="Issue" resultMap="MemberCertJoinVal">
SELECT m.id, name, patientcode
FROM member AS m
LEFT JOIN certificate AS c <!-- patientcode: null ๊ฐ๋ ์์ผ๋ฏ๋ก LEFT JOIN์ ์ด๋ค. -->
<!-- ON: JOIN ์ ํ๊ธฐ ์ ํํฐ๋ง -->
ON m.id = c.id <!-- ๋์ผ ์นผ๋ผ: id -->
<!-- WHERE: JOIN ์ ํ ํ ํํฐ๋ง -->
WHERE m.id = #{id}<!-- ๋ก๊ทธ์ธํ ์ ์ : the value of the id parameter that is passed to the SQL query at runtime -->
</select>
Left join์ ์ด ํ MySQL์ ๊ฒฐ๊ณผ)
์ฝ๋ ์์ ์ , ๊ธฐ์กด Inner join์ ์ด ํ MySQL์ ๊ฒฐ๊ณผ)
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ ๋ง๋ค์๋ '๋ด์ญ์ด ์์ต๋๋ค.' ๊ฒฝ๊ณ ์ฐฝ์ ๋จ๊ฒ ํ๋ JSํ์ผ์ ์์ ํ๋ค.
console.log("patientcode typeof:" + typeof patientcode);
๋ฅผ ์ฐ๋ฉด์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํด ํ์์ฝ๋(patientcode)ํ์
์ ์๊ฒ ๋๋๋ฐ,
์๋์ฒ๋ผ ๊ฐ๋ฐ์ ๋๊ตฌ์์ string ํ์
์ผ๋ก ๋ด๋ค.
If the value is an empty string, then the above code will output 'string'.
If the value is NULL, then it will output 'object'.
empty string์ธ ๊ฒฝ์ฐ string type์ด๋ผ๊ณ ๋จ๊ณ null์ธ ๊ฒฝ์ฐ object type์ด๋ผ๊ณ ๋ฌ๋ค.
๊ฐ๋ฐ์ ๋๊ตฌ์ ๊ฒฐ๊ณผ)
๊ทธ๋์ ๊ธฐ์กด์ ์กฐ๊ฑด์์์ patientcode === null ์ด๋ฉด
๋ด์ญ์ด ์์ต๋๋ค ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ๊ฒ ํ๋๋ฐ, ๊ณ์ ์ฝ๋๊ฐ ์ ๋๋ ๊ฑฐ์๋ค.
string type์ด๋ฏ๋ก ์๋์ฒ๋ผ ์ฝ๋๋ฅผ ๋ค์ ์์ ํ๋ค.
patientcode.trim() === ''
trim() ๋ฉ์๋๋ ๋ฌธ์์ด ์ ๋์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๊ณ ์๋ณธ ๋ฌธ์์ด์ ์์ ํ์ง ์๊ณ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
์์ ํ issueAlert.js)
console.log("Connect: Swal.fire()")
// Swal.fire ๊ฒฝ๊ณ ์ฐฝ ์ ์ฉ
patientcode = document.getElementById("patientcode").value;
console.log("patientcode:" + patientcode)
console.log("patientcode typeof:" + typeof patientcode);
// Once a constant is initialized, we cannot change its value
// const ๋ณ์๋ ์
๋ฐ์ดํธ์ ์ฌ์ ์ธ ๋ ๋ค ๋ถ๊ฐ๋ฅํ๋ค.
const linkGeneral = document.getElementById("linkGeneral"); // ์ง๋ฃํ์ธ์
const linkInout = document.getElementById("linkInout"); // ์
ํด์ํ์ธ์
const linkSurg = document.getElementById("linkSurg"); // ์์ ํ์ธ์
// ์ง๋ฃํ์ธ์
linkGeneral.addEventListener("click", clickGeneral);
function clickGeneral(e) {
if (patientcode === '2' || patientcode === '3' || patientcode.trim() === '') {
e.preventDefault(); //a ํ๊ทธ๋ submit ํ๊ทธ์ ๊ณ ์ ์ ๋์์ ์ค๋จ
Swal.fire('๋ด์ญ์ด ์์ต๋๋ค.', '', 'error');
}
else {
window.location.href = "javascript:GeneralRequest('${common.id}')";
//window.location.href = "/GeneralDown?id=${common.id}";
}
};
// ์
ํด์ํ์ธ์
linkInout.addEventListener("click", clickInout);
function clickInout(e) {
if (patientcode === '1' || patientcode === '3' || patientcode.trim() === '') {
e.preventDefault();
Swal.fire('๋ด์ญ์ด ์์ต๋๋ค.', '', 'error');
}
else {
window.location.href = "javascript:InOutRequest('${common.id}')";
//window.location.href = "/InoutDown?id=${common.id}";
}
};
// ์์ ํ์ธ์
linkSurg.addEventListener("click", clickSurg);
function clickSurg(e) {
console.log("Connect: linkSurg")
if (patientcode === '1' || patientcode === '2' || patientcode.trim() === '') {
e.preventDefault();
Swal.fire('๋ด์ญ์ด ์์ต๋๋ค.', '', 'error');
}
else {
window.location.href = href = "javascript:SergRequest('${common.id}')";
//window.location.href = "/SergDown?id=${common.id}";
}
};
๊ฒฐ๋ก ) ํ์ ์ฝ๋๊ฐ ์๋ ํ์์ด ์ฌ๋ผ์ธ ์ฆ๋ช
์ ๋ฐ๊ธ ์ ์ฒญ ๋ฒํผ์ ๋๋ ์ ๋, ์ด์ ์๋์ฒ๋ผ ๊ฒฝ๊ณ ์ฐฝ์ด ์ ๋ฌ๋ค.
'๐ปBootcamp Self-Study Revisionโจ > Spring, Spring Boot, Java, SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค๋ฅ ํด๊ฒฐ) No mapping found for HTTP request with URI ์๋ฌ Project > Clean, Maven > Update Project (0) | 2023.06.05 |
---|---|
ํฐ์บฃ์ผ๋ก ๋ฐฐํฌ (0) | 2023.05.24 |
SQL: WHERE, ON ์ฐจ์ด (0) | 2023.05.01 |
์ค๋ฅ ํด๊ฒฐ) Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4 and JAVA EE 5,6, and 7 Web modules. (0) | 2023.04.30 |