관리 메뉴

moozi

4/26 JDBC 프로그래밍 예제 본문

TIS_2016/안드로이드_1기

4/26 JDBC 프로그래밍 예제

moozi 2016. 4. 26. 17:05

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;



public class MyApp02 extends JFrame {

MyApp02(){

setSize(310,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBackground(Color.ORANGE);

setLayout(new FlowLayout());

add(new JLabel("이름"));

final JTextField nameTxt=new JTextField(10);

add(nameTxt);

add(new JLabel("학번"));

final JTextField idTxt=new JTextField(10);

add(idTxt);

add(new JLabel("학과"));

final JTextField deptTxt=new JTextField(22);

add(deptTxt);

add(new JLabel("주소"));

final JTextField addressTxt=new JTextField(22);

add(addressTxt);

final JTextArea ta=new JTextArea(15,27);

add(new JScrollPane(ta));

JButton insertBtn=new JButton("등록");

add(insertBtn);

insertBtn.addActionListener(new ActionListener(){


@Override

public void actionPerformed(ActionEvent arg0) {

String url="jdbc:mysql://localhost/sampledb";

String id="root";

String password="";

Connection con=null;//연결객체. 리턴값으로 사용됨.

try{

//jdbc드라이버 로드. db마다 다름.

Class.forName("com.mysql.jdbc.Driver");

//연결

con=DriverManager.getConnection(url,id,password);

//System.out.println("연결되었습니다.");

int result=JOptionPane.showConfirmDialog(null, 

"등록하시겠습니까?", "등록", JOptionPane.YES_NO_OPTION);

if(result==JOptionPane.YES_OPTION){

Statement stmt=con.createStatement();

String sid=idTxt.getText();

String name=nameTxt.getText();

String dept=deptTxt.getText();

String address=addressTxt.getText();

//insert

String sql="insert into student(id,name,dept,address)"

+ " values('"+sid+"','"+name+"','"+dept+"','"+address+"')";

stmt.executeUpdate(sql);

System.out.println("등록실행");

}

}catch(Exception e){

System.out.println(e.getMessage());

}

}});

JButton updateBtn=new JButton("수정");

add(updateBtn);

//Anonymous Class 익명클래스를 이용한 이벤트처리

updateBtn.addActionListener(new ActionListener(){


@Override

public void actionPerformed(ActionEvent arg0) {

if(JOptionPane.showConfirmDialog(null, 

"수정하시겠습니까?", "수정", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){

//DB에 update작업 실행

System.out.println("수정실행");

}

}});

JButton deleteBtn=new JButton("삭제");

add(deleteBtn);

class myActionListener implements ActionListener{


@Override

public void actionPerformed(ActionEvent e) {

if(JOptionPane.showConfirmDialog(null, 

"삭제하시겠습니까?", "삭제", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){

//DB에 delete작업 실행

System.out.println("삭제실행");

}

}

}

myActionListener mal=new myActionListener();

deleteBtn.addActionListener(mal);

JButton listBtn=new JButton("목록");

add(listBtn);

listBtn.addActionListener(new ActionListener(){


@Override

public void actionPerformed(ActionEvent e) {

//Connection String. db마다 다름.

String url="jdbc:mysql://localhost/sampledb";

String id="root";

String password="";

Connection con=null;//연결객체. 리턴값으로 사용됨.

try{

//jdbc드라이버 로드. db마다 다름.

Class.forName("com.mysql.jdbc.Driver");

//연결

con=DriverManager.getConnection(url,id,password);

//System.out.println("연결되었습니다.");

Statement stmt=con.createStatement();

//select

ResultSet rs=stmt.executeQuery("select * from student");

//Fetch

ta.append("학번\t이름\t학과\t주소\n");

ta.append("===========================================================\n");

while(rs.next()){

String sid=rs.getString("id");

String name=rs.getString("name");

String dept=rs.getString("dept");

String address=rs.getString("address");

//System.out.println("id:"+sid+",name:"+name+",dept:"+dept+",address"+address);

ta.append(sid+"\t"+name+"\t"+dept+"\t"+address+"\n");

}

}catch(Exception ex){

System.out.println(ex.getMessage());

}

System.out.println("목록실행");

}});

setTitle("학생관리프로그램");

setResizable(false);//창크기고정.

setVisible(true);

}

public static void main(String[] args){

new MyApp02();

}

}






'TIS_2016 > 안드로이드_1기' 카테고리의 다른 글

sql연습문제  (0) 2016.04.28
join연습  (0) 2016.04.27
조인연습 테이블  (0) 2016.04.27
자바쓰레드 동기화 관련예제  (0) 2016.04.25
자바기본문법  (0) 2016.04.25
Comments