ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP] 이클립스 JAVA 및 MSSQL(데이터베이스) 연동예제
    프로그램 소스/JSP 2020. 12. 29. 17:59
    반응형

    [JSP] 이클립스 MSSQL(데이터베이스) 연동예제

     

    1. Libraries에 sqljdbc4.jar파일을 추가해준다.

     - 추가방법은 아래의 이전 포스팅을 차고해주세요^^

    https://bp666.tistory.com/6?category=959586

     

    [JSP] 이클립스 JSON .jar파일 추가 및 라이브러리 다운로드

    [JSP] 이클립스 JSON .jar파일 추가 및 라이브러리 다운로드 ■ 이클립스에서 .jar파일 라이브러리에 추가하는 방법 1. 이클립스에서 프로젝트를 오른쪽클릭하여 Bulid Path - Configure Build Path로 들어갑

    bp666.tistory.com

     

    2. JSP - JAVA 데이터베이스 연동예제소스

    <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@page import="org.json.JSONObject"%>
    <%@page import="org.json.JSONArray"%>
    <jsp:useBean id="Conn" class="DB.DBcon" scope="page"></jsp:useBean> 
     <%
     		
    	request.setCharacterEncoding("UTF-8");
    	String MEM_ID = request.getParameter("MEM_ID");
    	String MEM_PW = request.getParameter("MEM_PW");
    	String SAVE_ID = request.getParameter("SAVE_ID");
    		
    	
    	boolean DB연결 = Conn.Open();  //DB연결하기
    	if(DB연결){
    		boolean 쿼리실행;
    		쿼리실행 = Conn.Insert("Insert into BP_test(필드명1,필드명2,필드명3) values('데이터1','데이터2','데이터3')"); //데이터저장하기
    		
    		if (쿼리실행){
    			String ret = "";
    			
    			ret = Conn.Select("Select * from BP_test");  //저장된 데이터 불러오기
    			JSONArray Json_arr = null;
    			JSONObject json = null;
    			
    			Json_arr = new JSONArray(ret);
    			if (Json_arr.length() > 0) {
    				json = (JSONObject) Json_arr.get(0);
    				
    				System.out.println(json.get("필드명1").toString());
    				System.out.println(json.get("필드명2").toString());
    				System.out.println(json.get("필드명3").toString());
    			}			
    		}
    		
    		Conn.Close();
    	}
    %>

     

     

    3. JAVA - MSSQL 연동예제소스

    - JAVA는 Server에서 작업을하고 요청한 JSP로 정보를 전달한다.

    package DB;
    
    import java.sql.*;
    import java.util.LinkedHashMap;  
    import javax.sql.*;
    import org.json.simple.JSONArray;
    import org.json.JSONObject;
     
    public class DBcon {
    	Statement stmt = null;
    	DataSource ds = null;
    	
    	public Connection conn; 
        
        //데이터베이스 연결열기
    	public boolean Open(){
    		try {
    				
    			String Con_Str = "";
    			String IP = "", PORT = "", DB = "", ID = "", PW = "";
    
    			IP = "192.168.0.1";
    			PORT = "1433";
    			DB = "BP_TEST";
    			ID = "BP";
    			PW = "1234";
    			
    			Con_Str = "jdbc:sqlserver://" + IP + ":" + PORT + ";databaseName=" + DB + ";user=" + ID + ";password=" + PW + ";";
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    			conn = DriverManager.getConnection(Con_Str);
    			
    		    return true;
    		} catch(Exception ex) {
    		    ex.printStackTrace();
    		    return false;
    		}
    	}
    
    	//데이터베이스 연결닫기
    	public void Close() {
    		if (conn != null) {
    		      try {
    		        conn.close();
    		        conn = null;
    		      }
    		      catch (Exception err) {
    		        err.printStackTrace();
    		      }
    		    }
        }
    	
        //Insert문 데이터저장
    	public Boolean Insert(String ISQL){
    		Boolean ret = false;
    		PreparedStatement pstmt=null;
    		try {
    			
             pstmt = conn.prepareStatement(ISQL,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
             pstmt.executeUpdate();
             
             pstmt.close();
             pstmt = null;
             
             ret = true;
    		}catch (Exception e) {
    			ret = false;
    			e.printStackTrace();
    		}
    		return ret;
    	}
    	
        //Select문 데이터조회
    	public String Select(String ISQL){ 
    		String RetJson = "";
    		try {  
    			PreparedStatement pstmt = conn.prepareStatement(ISQL,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    	        ResultSet rs = pstmt.executeQuery();
    	        
    	        RetJson = Convert_JSON(rs); 	        
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    		return RetJson;
    	}
    			 
    	public String Convert_JSON(ResultSet rs){
    		
    		JSONArray Json_arr = new JSONArray();
    		String ret = "";
    		try {
    			ResultSetMetaData rsmd = rs.getMetaData();
    			while (rs.next()) {
    				int numColumns = rsmd.getColumnCount(); 
    				JSONObject obj = new JSONObject(new LinkedHashMap());
    
    				for (int i = 1; i < numColumns + 1; i++) {
    					String column_name = rsmd.getColumnName(i);
    					if (rsmd.getColumnType(i) == java.sql.Types.ARRAY) {
    						obj.put(column_name, rs.getArray(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.BIGINT) {
    						obj.put(column_name, rs.getInt(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.BOOLEAN) {
    						obj.put(column_name, rs.getBoolean(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.BLOB) {
    						obj.put(column_name, rs.getBlob(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.DOUBLE) {
    						obj.put(column_name, rs.getDouble(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.FLOAT) {
    						obj.put(column_name, rs.getFloat(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.INTEGER) {
    						obj.put(column_name, rs.getInt(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.NVARCHAR) {
    						obj.put(column_name, rs.getNString(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.VARCHAR) {
    						obj.put(column_name, rs.getString(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.TINYINT) {
    						obj.put(column_name, rs.getInt(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.SMALLINT) {
    						obj.put(column_name, rs.getInt(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.DATE) {
    						obj.put(column_name, rs.getDate(column_name));
    					} else if (rsmd.getColumnType(i) == java.sql.Types.TIMESTAMP) {
    						obj.put(column_name, rs.getTimestamp(column_name));
    					} else {
    						obj.put(column_name, rs.getObject(column_name));
    					} 
    				} 
    				Json_arr.add(obj); 
    			} 
    			
    			ret = Json_arr.toString(); 
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		
    		return ret;		
    	}	
    }

     


    여기까지 간단하게 JSP에서 JAVA소스를 통해 MSSQL에 연결하여 데이터를 조회하거나

     

    저장하는 방법을 알아보았습니다. 예제는 중요한 기초부분만 올려드리니 참고하여

     

    사용하시면 될꺼같아요! 그럼 다음에도 더 좋은 정보로 찾아뵙겠습니다^-^)~

     

     

     

     

    ■ sqljdbc 라이브러리 다운로드

     

    sqljdbc4.jar
    0.51MB

    반응형

    댓글

Designed by Tistory.