yeony._.
๐Ÿข์ฝฉ๋ถ€๐Ÿข
yeony._.
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (99)
    • ๐Ÿ’ปProgramming (91)
      • โ˜•๏ธJava (19)
      • ๐Ÿ’ฝOracle (21)
      • ๐Ÿ‘ฉ‍๐ŸŽจHTML&CSS (12)
      • ๐ŸŽจ ์‹ค์Šต (4)
      • ๐Ÿƒ‍โ™€๏ธJavaScript (25)
      • JSP (8)
      • ๐ŸƒSpring (0)
      • ๐Ÿฅงpython (0)
      • API (0)
      • ๐Ÿ˜ˆGit (1)
    • ๐ŸคซPrivate (0)
      • -- (0)
      • + (0)
      • S (0)
      • P (0)
      • B (0)
    • ๐Ÿ˜ŽProject (4)
      • ๐Ÿ—“๏ธwbs ํ”„๋กœ์ ํŠธ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • HTML #CSS #HTML์ด๋ฏธ์ง€ #HTML์ด๋ฏธ์ง€์—๊ธ€์”จ #HTML์ด๋ฏธ์ง€์—์ด๋ฏธ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
yeony._.

๐Ÿข์ฝฉ๋ถ€๐Ÿข

PreparedStatement ํ™œ์šฉ
๐Ÿ’ปProgramming/โ˜•๏ธJava

PreparedStatement ํ™œ์šฉ

2022. 8. 22. 21:02
 

myBatis๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์— ์„ค๋ช…๋œ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์„ ๊ฐ„ํŽธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค...

 

 

MemberDTO ํด๋ž˜์Šค

๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด

ํ•œ ํšŒ์›์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ 

getter, setter์„ ํ†ตํ•ด ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ 

package db.member2;

public class MemberDTO {
	private String id;
	private String pwd;
	private String name;
	private String birth;
	private String email;
	private String tel;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getBirth() {
		return birth;
	}

	public void setBirth(String birth) {
		this.birth = birth;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}
}

 

MemberDAO ์ธํ„ฐํŽ˜์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ CRUD๋ฅผ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค

์ธํ„ฐํŽ˜์ด์Šค : ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ถ”์ƒํ™”๋กœ ์ •์˜ํ•˜๊ณ  ๊ตฌํ˜„์€ ํ•˜์ง€ ์•Š์€ ๊ฒƒ 

package db.member2;
import java.sql.SQLException;
import java.util.List;

public interface MemberDAO {
	public int insertMember(MemberDTO dto) throws SQLException;
	public int updateMember(MemberDTO dto) throws SQLException;
	public int deleteMember(String id) throws SQLException;
	
	public MemberDTO readMember(String id);
	public List<MemberDTO> listMember();
	public List<MemberDTO> listMember(String name);
}

 

 

MemberDAOImpl ํด๋ž˜์Šค


MemberDAO ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค (MemberDAO๋ฅผ ์ƒ์†)

member1, member2 ํ…Œ์ด๋ธ”์˜ DML, SELECT ๋“ฑ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ฃผ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ํด๋ž˜์Šค

์ฃผ์š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜๋Š” ํด๋ž˜์Šค

package db.ch1;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLDataException;
import java.sql.SQLException;
import java.sql.SQLIntegrityConstraintViolationException;
import java.util.ArrayList;
import java.util.List;

import db.util.DBConn;

public class MemberDAOImpl implements MemberDAO {
	private Connection conn = DBConn.getConnection(); //DB ์—ฐ๊ฒฐ

	@Override
	public int insertMember(MemberDTO dto) throws SQLException {
    // ํšŒ์› ์‚ฝ์ž…
		int result = 0;
		PreparedStatement pstmt = null; //PreparedStatement ๊ฐ์ฒด ์„ ์–ธ
		String sql;

		try {
			sql = "INSERT INTO member1(id, pwd, name) VALUES ( ?, ?, ? )";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, dto.getId()); //1๋ฒˆ์งธ ?์— dto๊ฐ์ฒด์—์„œ Id๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
			pstmt.setString(2, dto.getPwd());
			pstmt.setString(3, dto.getName());

			result = pstmt.executeUpdate(); //sql๋ฌธ ์‹คํ–‰
			pstmt.close();

			sql = "INSERT INTO member2(id, birth, email, tel) VALUES ( ?, ?, ?, ? )";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, dto.getId());
			pstmt.setString(2, dto.getBirth());
			pstmt.setString(3, dto.getEmail());
			pstmt.setString(4, dto.getTel());

			result += pstmt.executeUpdate();

		} catch (SQLIntegrityConstraintViolationException e) {
			// ๊ธฐ๋ณธํ‚ค ์ œ์•ฝ ์œ„๋ฐ˜, NOT NULL ๋“ฑ์˜ ์ œ์•ฝ ์œ„๋ฐ˜ - ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์œ„๋ฐ˜์‹œ ๋ฐœ์ƒ
			if (e.getErrorCode() == 1) { // ๊ธฐ๋ณธํ‚ค ์ค‘๋ณต
				System.out.println("์•„์ด๋”” ์ค‘๋ณต์œผ๋กœ ๋“ฑ๋ก์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.");
			} else if (e.getErrorCode() == 1400) { // NOT NULL
				System.out.println("ํ•„์ˆ˜ ์ž…๋ ฅ ์‚ฌํ•ญ์„ ์ž…๋ ฅ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.");
			} else {
				System.out.println(e.toString());
			}

			throw e;

		} catch (SQLDataException e) {
			// ๋‚ ์งœ๋“ฑ์˜ ํ˜•์‹ ์ž˜๋ชป์œผ๋กœ ์ธํ•œ ์˜ˆ์™ธ
			if (e.getErrorCode() == 1840 || e.getErrorCode() == 1861) {
				System.out.println("๋‚ ์งœ ์ž…๋ ฅ ํ˜•์‹ ์˜ค๋ฅ˜ ์ž…๋‹ˆ๋‹ค.");
			} else {
				System.out.println(e.toString());
			}

			throw e;

		} catch (SQLException e) {
			e.printStackTrace();

			throw e;

		} finally {
			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}
		}

		return result;
	}

	@Override
	public int updateMember(MemberDTO dto) throws SQLException {
		int result = 0;
		PreparedStatement pstmt = null;
		String sql;

		try {
			sql = "UPDATE member1 SET pwd = ?, name = ? WHERE id = ?";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, dto.getPwd());
			pstmt.setString(2, dto.getName());
			pstmt.setString(3, dto.getId());

			result = pstmt.executeUpdate();
			pstmt.close();

			sql = "UPDATE member2 SET birth = ?, email = ?, tel = ? WHERE id = ?";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, dto.getBirth());
			pstmt.setString(2, dto.getEmail());
			pstmt.setString(3, dto.getTel());
			pstmt.setString(4, dto.getId());

			result += pstmt.executeUpdate();

		} catch (SQLIntegrityConstraintViolationException e) {
			if (e.getErrorCode() == 1400) { // NOT NULL
				System.out.println("ํ•„์ˆ˜ ์ž…๋ ฅ ์‚ฌํ•ญ์„ ์ž…๋ ฅ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.");
			} else {
				System.out.println(e.toString());
			}

			throw e;

		} catch (SQLDataException e) {
			// ๋‚ ์งœ๋“ฑ์˜ ํ˜•์‹ ์ž˜๋ชป์œผ๋กœ ์ธํ•œ ์˜ˆ์™ธ
			if (e.getErrorCode() == 1840 || e.getErrorCode() == 1861) {
				System.out.println("๋‚ ์งœ ์ž…๋ ฅ ํ˜•์‹ ์˜ค๋ฅ˜ ์ž…๋‹ˆ๋‹ค.");
			} else {
				System.out.println(e.toString());
			}

			throw e;

		} catch (SQLException e) {
			e.printStackTrace();

			throw e;

		} finally {
			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}
		}

		return result;
	}

	@Override
	public int deleteMember(String id) throws SQLException {
		int result = 0;
		PreparedStatement pstmt = null;
		String sql;

		try {
			sql = "DELETE FROM member2 WHERE id = ?";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, id);

			result = pstmt.executeUpdate();
			pstmt.close();

			sql = "DELETE FROM member1 WHERE id = ?";
			pstmt = conn.prepareStatement(sql);

			pstmt.setString(1, id);

			result += pstmt.executeUpdate();

		} catch (SQLException e) {
			e.printStackTrace();

			throw e;

		} finally {
			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}
		}

		return result;
	}

	@Override
	public MemberDTO readMember(String id) {
		MemberDTO dto = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		String sql;

		try {
			sql = "SELECT m1.id, pwd, name, TO_CHAR(birth, 'YYYY-MM-DD') birth, email, tel " + " FROM member1 m1 "
					+ " LEFT OUTER JOIN member2 m2 ON m1.id = m2.id " + " WHERE m1.id = ? ";

			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, id);
			rs = pstmt.executeQuery();

			if (rs.next()) {
				dto = new MemberDTO();

				dto.setId(rs.getString("id"));
				dto.setPwd(rs.getString("pwd"));
				dto.setName(rs.getString("name"));
				dto.setBirth(rs.getString("birth"));
				dto.setEmail(rs.getString("email"));
				dto.setTel(rs.getString("tel"));
			}

		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (rs != null) {
				try {
					rs.close();
				} catch (Exception e2) {
				}
			}

			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}

		}

		return dto;
	}

	@Override
	public List<MemberDTO> listMember() {
		List<MemberDTO> list = new ArrayList<>();
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		String sql;

		try {
			sql = "SELECT m1.id, pwd, name, TO_CHAR(birth, 'YYYY-MM-DD') birth, email, tel " + " FROM member1 m1 "
					+ " LEFT OUTER JOIN member2 m2 ON m1.id = m2.id ";

			pstmt = conn.prepareStatement(sql);

			rs = pstmt.executeQuery();

			while (rs.next()) {
				MemberDTO dto = new MemberDTO();

				dto.setId(rs.getString("id"));
				dto.setPwd(rs.getString("pwd"));
				dto.setName(rs.getString("name"));
				dto.setBirth(rs.getString("birth"));
				dto.setEmail(rs.getString("email"));
				dto.setTel(rs.getString("tel"));

				list.add(dto);
			}

		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (rs != null) {
				try {
					rs.close();
				} catch (Exception e2) {
				}
			}

			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}

		}

		return list;
	}

	@Override
	public List<MemberDTO> listMember(String name) {
		List<MemberDTO> list = new ArrayList<>();
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		String sql;

		try {
			sql = "SELECT m1.id, pwd, name, TO_CHAR(birth, 'YYYY-MM-DD') birth, email, tel " + " FROM member1 m1 "
					+ " LEFT OUTER JOIN member2 m2 ON m1.id = m2.id " + " WHERE INSER(name, ?) > 0";

			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, name);

			rs = pstmt.executeQuery();

			while (rs.next()) {
				MemberDTO dto = new MemberDTO();

				dto.setId(rs.getString("id"));
				dto.setPwd(rs.getString("pwd"));
				dto.setName(rs.getString("name"));
				dto.setBirth(rs.getString("birth"));
				dto.setEmail(rs.getString("email"));
				dto.setTel(rs.getString("tel"));

				list.add(dto);
			}

		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (rs != null) {
				try {
					rs.close();
				} catch (Exception e2) {
				}
			}

			if (pstmt != null) {
				try {
					pstmt.close();
				} catch (Exception e2) {
				}
			}

		}

		return list;
	}

}

 

INSERT ALL์„ ์ด์šฉํ•œ ๋‹ค์ค‘ํ–‰ ์‚ฝ์ž…

sql = "INSERT ALL "
	+ " INTO member1(id, pwd, name) VALUES ( ?, ?, ? )"
	+ " INTO member2(id, birth, email, tel) VALUES ( ?, ?, ?, ? )"
	+ " SELECT * FROM dual ";

pstmt = conn.prepareStatement(sql);
			
pstmt.setString(1, dto.getId());
pstmt.setString(2, dto.getPwd());
pstmt.setString(3, dto.getName());
pstmt.setString(4, dto.getId());
pstmt.setString(5, dto.getBirth());
pstmt.setString(6, dto.getEmail());
pstmt.setString(7, dto.getTel());
			
result = pstmt.executeUpdate();

 

DAO(Data Access Object)

DB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ ๋ฐ ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋‹ด๋‹น

๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑํ•˜๋Š” ๊ฐ์ฒด

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋… 

 

MemberUI ํด๋ž˜์Šค

๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ์„ ์œ„ํ•œ ํด๋ž˜์Šค

package db.member2;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.List;

import db.util.DBConn;

public class MemberUI {
	private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	private MemberDAO dao = new MemberDAOImpl();

	public void menu() {
		System.out.println("PreparedStatement - ํšŒ์› ์˜ˆ์ œ...");

		int ch;

		while (true) {
			try {
				System.out.print("1.๋“ฑ๋ก 2.์ˆ˜์ • 3.์‚ญ์ œ 4.์•„์ด๋””๊ฒ€์ƒ‰ 5.์ด๋ฆ„๊ฒ€์ƒ‰ 6.๋ฆฌ์ŠคํŠธ 7.์ข…๋ฃŒ => ");
				ch = Integer.parseInt(br.readLine());

				if (ch == 7) {
					DBConn.close();
					return;
				}
	
				switch(ch) {
				case 1: insert(); break;
				case 2: update(); break;
				case 3: delete(); break;
				case 4: findById(); break;
				case 5: findByName(); break;
				case 6: listAll(); break;
				}
				
			} catch (Exception e) {
			}
		}
		
	}

	protected void insert() {
		System.out.println("\nํšŒ์› ๊ฐ€์ž… !!!");

		try {
			MemberDTO dto = new MemberDTO();

			System.out.print("์•„์ด๋”” ? ");
			dto.setId(br.readLine());

			System.out.print("ํŒจ์Šค์›Œ๋“œ ? ");
			dto.setPwd(br.readLine());

			System.out.print("์ด๋ฆ„ ? ");
			dto.setName(br.readLine());

			System.out.print("์ƒ๋…„์›”์ผ ? ");
			dto.setBirth(br.readLine());

			System.out.print("์ด๋ฉ”์ผ ? ");
			dto.setEmail(br.readLine());

			System.out.print("์ „ํ™”๋ฒˆํ˜ธ ? ");
			dto.setTel(br.readLine());

			dao.insertMember(dto);

			System.out.println("ํšŒ์›๊ฐ€์ž…์ด ์„ฑ๊ณต ํ–ˆ์Šต๋‹ˆ๋‹ค.");
		} catch (Exception e) {
		}

		System.out.println();
	}

	protected void update() {
		System.out.println("\nํšŒ์› ์ •๋ณด ์ˆ˜์ • !!!");

		try {
			MemberDTO dto = new MemberDTO();

			System.out.print("์ˆ˜์ •ํ•  ์•„์ด๋”” ? ");
			dto.setId(br.readLine());

			System.out.print("ํŒจ์Šค์›Œ๋“œ ? ");
			dto.setPwd(br.readLine());

			System.out.print("์ด๋ฆ„ ? ");
			dto.setName(br.readLine());

			System.out.print("์ƒ๋…„์›”์ผ ? ");
			dto.setBirth(br.readLine());

			System.out.print("์ด๋ฉ”์ผ ? ");
			dto.setEmail(br.readLine());

			System.out.print("์ „ํ™”๋ฒˆํ˜ธ ? ");
			dto.setTel(br.readLine());

			int result = dao.updateMember(dto);

			if (result == 0) {
				System.out.println("๋“ฑ๋ก๋œ ์ž๋ฃŒ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.");
			} else {
				System.out.println("ํšŒ์›์ •๋ณด๊ฐ€ ์ˆ˜์ • ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
			}
		} catch (Exception e) {
		}
		System.out.println();

	}

	protected void delete() {
		System.out.println("\nํšŒ์› ํƒˆํ‡ด !!!");

		String id;

		try {
			System.out.print("์‚ญ์ œํ•  ์•„์ด๋”” ? ");
			id = br.readLine();

			int result = dao.deleteMember(id);

			if (result == 0) {
				System.out.println("๋“ฑ๋ก๋œ ์ž๋ฃŒ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.");
			} else {
				System.out.println("ํšŒ์›์ •๋ณด๊ฐ€ ์‚ญ์ œ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
			}
		} catch (Exception e) {
		}
		System.out.println();

	}

	protected void findById() {
		System.out.println("\n์•„์ด๋”” ๊ฒ€์ƒ‰ !!!");
		String id;

		try {
			System.out.print("๊ฒ€์ƒ‰ํ•  ์•„์ด๋”” ? ");
			id = br.readLine();

			MemberDTO dto = dao.readMember(id);
			if (dto == null) {
				System.out.println("๋“ฑ๋ก๋œ ์•„์ด๋””๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.\n");
				return;
			}

			System.out.print(dto.getId() + "\t");
			// System.out.print(dto.getPwd()+"\t");
			System.out.print(dto.getName() + "\t");
			System.out.print(dto.getBirth() + "\t");
			System.out.print(dto.getEmail() + "\t");
			System.out.println(dto.getTel());
		} catch (Exception e) {
		}

		System.out.println();
	}

	protected void findByName() {
		System.out.println("\n์ด๋ฆ„ ๊ฒ€์ƒ‰ !!!");

		String name;

		try {
			System.out.print("๊ฒ€์ƒ‰ํ•  ์ด๋ฆ„ ? ");
			name = br.readLine();

			List<MemberDTO> list = dao.listMember(name);
			if (list.size() == 0) {
				System.out.println("๋“ฑ๋ก๋œ ์ด๋ฆ„์ด ์—†์Šต๋‹ˆ๋‹ค.\n");
				return;
			}

			for (MemberDTO dto : list) {
				System.out.print(dto.getId() + "\t");
				// System.out.print(dto.getPwd()+"\t");
				System.out.print(dto.getName() + "\t");
				System.out.print(dto.getBirth() + "\t");
				System.out.print(dto.getEmail() + "\t");
				System.out.println(dto.getTel());
			}
		} catch (Exception e) {
		}

		System.out.println();

	}

	protected void listAll() {
		System.out.println("\n์ „์ฒด ๋ฆฌ์ŠคํŠธ !!!");

		List<MemberDTO> list = dao.listMember();

		for (MemberDTO dto : list) {
			System.out.print(dto.getId() + "\t");
			// System.out.print(dto.getPwd()+"\t");
			System.out.print(dto.getName() + "\t");
			System.out.print(dto.getBirth() + "\t");
			System.out.print(dto.getEmail() + "\t");
			System.out.println(dto.getTel());
		}

		System.out.println();
	}
}

 

App ํด๋ž˜์Šค

main ๋ฉ”์†Œ๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค

MemberUI์˜ menu() ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰

public class App {
	public static void main(String[] args) {
		new MemberUI().menu();
	}
}

 

 

์˜ˆ์™ธ ์ฒ˜๋ฆฌ

SQLIntegrityConstraintViolationException

๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด(์™ธ๋ž˜ ํ‚ค, ๊ธฐ๋ณธ ํ‚ค ๋˜๋Š” ๊ณ ์œ  ํ‚ค)์ด ์œ„๋ฐ˜

 

SQLDataException

 ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๋ณ€ํ™˜, 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ ๋ฐ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ธ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋˜ ์ด์— ๊ตญํ•œ๋˜์ง€ ์•Š๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์˜ค๋ฅ˜

 

SQLException

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค ์˜ค๋ฅ˜ ๋˜๋Š” ๊ธฐํƒ€ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜ˆ์™ธ

'๐Ÿ’ปProgramming > โ˜•๏ธJava' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

CallableStatement ํ™œ์šฉ(1) - ์˜ค๋ผํด ํ”„๋กœ์‹œ์ €  (0) 2022.08.23
CallableStatement  (0) 2022.08.23
PreparedStatement  (0) 2022.08.22
Statement  (0) 2022.08.19
[JAVA] Collections Framework - Queue  (0) 2022.08.03
    '๐Ÿ’ปProgramming/โ˜•๏ธJava' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • CallableStatement ํ™œ์šฉ(1) - ์˜ค๋ผํด ํ”„๋กœ์‹œ์ €
    • CallableStatement
    • PreparedStatement
    • Statement
    yeony._.
    yeony._.
    ํž˜ ์„ธ์ง€๋Š” ์•Œ์•ฝ๐Ÿ’Š๐Ÿ’Š๐Ÿ’Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”