1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình java phần 2

59 208 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 469,89 KB

Nội dung

Trong ví dụ này Tôi muốn demo cho các bạn các thuật toán sắp xếp bằng ngôn ngữ JavaNếu như không dùng đa tiến trình thì giao diện của bạn sẽ bị “Đơ”Source code: http:www.mediafire.com?oee8cznyolwng5gFile Jar để chạy: http:www.mediafire.com?03sxkpwa40icrp3Ở đây Tôi đã làm xong thuật toán Bubble Sort, các thuật toán khác Tôi viết sẵn hàm, các bạn bắt chước Tôi làm để sửa lại cho đúng thuật toán sắp xếp khác.

Lập Trình Java Trong ví dụ Tôi muốn demo cho bạn thuật toán xếp ngôn ngữ Java Nếu không dùng đa tiến trình giao diện bạn bị “Đơ” Source code: http://www.mediafire.com/?oee8cznyolwng5g File Jar để chạy: http://www.mediafire.com/?03sxkpwa40icrp3 Ở Tôi làm xong thuật toán Bubble Sort, thuật toán khác Tôi viết sẵn hàm, bạn bắt chước Tôi làm để sửa lại cho thuật toán xếp khác Hình minh hoạ thuật toán tiến hành : Hình minh họa hoàn thành thuật toán: Các thuật toán Tôi để trống là: public synchronized void doSelectionSort() { } public synchronized void doInsertionSort() { } public synchronized void doQuickSort() { } Các bạn viết code này, việc xử lý người sử dụng chọn kiểu xếp Tôi làm MyNumberFrame Good luck! Chia sẻ lên: • • • inShare • • Print • Posted in: Lập Trình Java Phần – Kết nối hệ sở liệu Java By Trần Duy Thanh on March 28, 2012 | 14 Comments Votes Yêu cầu: Các bạn phải rành lập trình hướng đối tượng, tính kế thừa, tính đa hình hiểu phần hướng dẫn bên Tức bạn phải lập trình Java 1, đọc mà không hiểu email tới tranduythanh@hui.edu.vn Tôi giải thích phần bạn chưa hiểu —————————————————————————————————— ————— Phần 1: Kết nối Microsoft Access Java Phần 2: Kết nối Microsoft SQL Server 2008 Java Phần 3: Kết nối MySql Java —————————————————————————————————— ————— Topic Tôi muốn hướng dẫn bạn cách kết nối tới nhiều sở liệu khác ngôn ngữ lập trình Java Các bạn học đầy đủ môn Lập Trình Java Trong Topic Tôi đặt trường hợp là: Chúng ta có nhiều hệ sở liệu khác ví dụ Ms Access, SqlServer, MySQL… làm cách để viết class Java thành thư viện để kết nối tới hệ sở liệu này? Có nhiều mô hình, Tôi nhấn mạnh vào cách viết class để kết nối tới CSDL mà (không đề cập mô hình cả) Khi bạn rành sử dụng ORM hibernate để coding loại Nhưng trước tiên bạn phải biết kỹ thuật trước —————————————————————————————————— ———————————— Phần 1: Kết nối Microsoft Access Java Nếu bạn sử dụng MS Access 2003(đuôi mdb) cài đặt thêm Driver Còn bạn sử dụng MS Access 2007, 20120 (đuôi accdb) bạn cài đặt thêm: 2007 Office System Driver: Data Connectivity Components : http://www.microsoft.com/download/en/details.aspx?id=23734 Những class bạn cần quan tâm phần này: Trong Connector bạn quan tâm tới classs CMsAccessConnector Trong UI bạn quan tâm tới ConnectMsAccessUI Tôi có chụp cấu trúc thư mục Project sau: Mô hình class: Ở tách làm package dễ quản lý – package Connector bao gồm class kết nối tương tác với hệ sở liệu – package Model dùng để mô hình hóa bảng liệu thành đối tượng – package UI cung cấp giao diện cho người sử dụng để tương tác với liệu Mô hình package Connector: Mô hình package Model: Mô hình package UI: Cơ sở liệu mẫu, Tôi làm bảng lophoc sinhvien ( bạn ý kiểu liệu kích thước tương ứng cho hệ sở liệu: Ms access, MySql SqlServer…) Tôi muốn Demo sơ sơ chương trình quản lý sinh viên – lớp học Các bạn xem mô tả: Trên Tôi dùng Ms Access Tương tự bạn làm cho Mysql, SqlServer Có thể bạn chưa thao tác với MySql bao giờ, Tôi hướng dẫn cách bạn download, cài đặt, cấu hình, sử dụng MySql Workbrench phần Hiện bạn theo dõi Tôi hướng dẫn MS Access Giao diện chương trình sau: Tương ứng với nút lệnh “MS Access”, “SQL Server” , “My Sql” chương trình kết nối tới hệ sở liệu Tôi giải thích chi tiết cách kết nối, cách tương tác với liệu: Lấy liệu, thêm, sửa, xóa, xử lý thống kê (in ấn liệu) Topic tương đối dài nên Tôi chia loại hệ sở liệu khác Chỉ cần bạn cố gắng hiểu cách tương tác tới hệ sở liệu hệ khác tương tự, vấn đề nằm Logic lập trình bạn – Trong trường hợp kết nối tới MS Access, bạn click chuột vào “Ms Access” có giao diện bên dưới: Các bạn ý Giao diện làm hết class AbstractConnectUI, Kể việc hiển thị liệu Các bạn nhớ Vì cố gắng tương tác với hệ sở liệu khác nhau, tức khác nơi lưu trữ liệu, giao diện nghiệp vụ hoàn toàn giống Như ứng với Ms Access ConnectMsAccessUI, bạn gọi class Connector liên quan tới Ms Accesss ứng với MySQL ConnectMySqlUI, bạn gọi clsss Connector liên quan tới MySQL Tức làm GIAO DIỆN lần mà thôi, tùy vào việc sử dụng hệ sở liệu mà ta thay đổi hành vi khác Các bạn phải rành lập trình hướng đối tượng, tính kế thừa, tính đa hình việc tiếp thu nhanh chóng 10 cboDanhsachlop.removeAllItems(); for(Lophoc lh : listlop) { cboDanhsachlop.addItem(lh); } } public void doComboboxSelected() { lophocSelected=(Lophoc) cboDanhsachlop.getSelectedItem(); } } class MainUI package tranduythanh.com.ui;importjava.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; 45 import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.border.TitledBorder; public class MainUI extends AbstractUI{ private static final long serialVersionUID = 1L; JButton btnMsAcces,btnSqlServer,btnMysql,btnShutdown; public MainUI(String title) { super(title); } public void addControl() { JPanel pnButton=new JPanel(); TitledBorder bor1=new TitledBorder(BorderFactory.createEtchedBorder(Color.RED, Color.BLUE), “Chọn loại kết nối”); pnButton.setBorder(bor1); JPanel pnAccess=new JPanel(); pnAccess.setLayout(new BoxLayout(pnAccess, BoxLayout.Y_AXIS)); ImageIcon icon=new ImageIcon(“images/ms-access.png”); btnMsAcces=new JButton(); btnMsAcces.setIcon(icon); pnAccess.add(btnMsAcces); 46 JLabel lblAccess=new JLabel(“Ms Access”); pnAccess.add(lblAccess); pnButton.add(pnAccess); JPanel pnSqlServer=new JPanel(); pnSqlServer.setLayout(new BoxLayout(pnSqlServer, BoxLayout.Y_AXIS)); icon=new ImageIcon(“images/sqlserver.png”); btnSqlServer=new JButton(); btnSqlServer.setIcon(icon); pnSqlServer.add(btnSqlServer); JLabel lblSqlServer=new JLabel(“Sql Server”); pnSqlServer.add(lblSqlServer); pnButton.add(pnSqlServer); JPanel pnMysql=new JPanel(); pnMysql.setLayout(new BoxLayout(pnMysql, BoxLayout.Y_AXIS)); icon=new ImageIcon(“images/mysql.png”); btnMysql=new JButton(); btnMysql.setIcon(icon); pnMysql.add(btnMysql); JLabel lblMysql=new JLabel(“My Sql”); pnMysql.add(lblMysql); pnButton.add(pnMysql); 47 Container con=getContentPane(); con.setLayout(new BorderLayout()); con.add(pnButton,BorderLayout.CENTER); btnShutdown=new JButton(); icon=new ImageIcon(“images/shutdown.png”); btnShutdown.setIcon(icon); JPanel pnShutdown=new JPanel(); pnShutdown.setBackground(Color.PINK); pnShutdown.add(btnShutdown); TitledBorder bor2=new TitledBorder(BorderFactory.createEtchedBorder(Color.RED, Color.BLUE), “Thoát khỏi chương trình”); bor2.setTitleColor(Color.BLUE); bor2.setTitleJustification(TitledBorder.RIGHT); pnShutdown.setBorder(bor2); con.add(pnShutdown,BorderLayout.SOUTH); btnMsAcces.setToolTipText(“Click vào để kết nối tới CSDL MS Access!”); btnSqlServer.setToolTipText(“Click vào để kết nối tới CSDL SQL Server!”); btnMysql.setToolTipText(“Click vào để kết nối tới CSDL My SQL!”); btnShutdown.setToolTipText(“Click vào để thoát chương trình!”); } @Override public void doActionControl(Object o) { 48 if(o.equals(btnMsAcces)) { JOptionPane.showMessageDialog(null, “MS Access”); ConnectMsAccessUI msAccessUI=new ConnectMsAccessUI(“MS Access Demo”); msAccessUI.doShow(); } else if(o.equals(btnMysql)) { JOptionPane.showMessageDialog(null, “MySQL”); ConnectMySqlUI mysqlUI=new ConnectMySqlUI(“MySQl Demo”); mysqlUI.doShow(); } else if(o.equals(btnSqlServer)) { JOptionPane.showMessageDialog(null, “MS SqlServer”); ConnectSqlServerUI ui=new ConnectSqlServerUI(“SQL server”); ui.doShow(); } else if(o.equals(btnShutdown)) { int ret=JOptionPane.showConfirmDialog(this, “Muốnt thoát hả?”,”Thoát”,JOptionPane.YES_NO_OPTION); 49 if(ret==JOptionPane.YES_OPTION) { System.exit(0); } } } public static void main(String[] args) { MainUI ui=new MainUI(“Demo Kết nối nhiều CSDL”); ui.doShow(); } @Override public void doOwnerWindowFeature() { // TODO Auto-generated method stub setSize(400, 250); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); } } class ConnectMsAccessUI package tranduythanh.com.ui;importjava.sql.ResultSet; 50 import java.util.ArrayList; import tranduythanh.com.connector.CMsAccessConnector; import tranduythanh.com.model.Lophoc; import tranduythanh.com.model.Sinhvien; public class ConnectMsAccessUI extends AbstractConnectUI { /** * */ private static final long serialVersionUID = 1L; public ConnectMsAccessUI(String title) { super(title); m_connector=new CMsAccessConnector(); } @Override public void addControl() { // TODO Auto-generated method stub super.addControl(); updateLopList(); 51 } @Override public void doActionControl(Object o) { // TODO Auto-generated method stub super.doActionControl(o); } @Override public void doOwnerWindowFeature() { super.doOwnerWindowFeature(); } @Override public ArrayList getListLop() { // TODO Auto-generated method stub ArrayListlistLop=new ArrayList(); m_connector.getConnect(“”, “database\\quanlysinhvien.accdb”, “”, “”); ResultSet rs= m_connector.execQuery(“select * from lophoc”); try { while(rs.next()) { Lophoc lh=new Lophoc(rs.getString(1), rs.getString(2), rs.getInt(3)); 52 listLop.add(lh); } } catch(Exception ex) { ex.printStackTrace(); } return listLop; } @Override public ArrayList getListSinhvienByIdLop(String malop) { // TODO Auto-generated method stub ArrayListlistSv=new ArrayList(); m_connector.getConnect(“”, “database\\quanlysinhvien.accdb”, “”, “”); ResultSet rs= m_connector.execQuery(“select * from sinhvien where malop='”+malop+”‘”); try { while(rs.next()) { Sinhvien sv=new Sinhvien(rs.getString(1), rs.getString(2), rs.getString(3), rs.getDate(4), rs.getString(5)); listSv.add(sv); 53 } } catch(Exception ex) { ex.printStackTrace(); } return listSv; } } class ConnectMySqlUI package tranduythanh.com.ui;importjava.sql.ResultSet; import java.util.ArrayList; import tranduythanh.com.connector.CMySqlConnector; import tranduythanh.com.model.Lophoc; import tranduythanh.com.model.Sinhvien; public class ConnectMySqlUI extends AbstractConnectUI{ private static final long serialVersionUID = 1L; public ConnectMySqlUI(String title) { super(title); 54 CMySqlConnector con=new CMySqlConnector(); con.getConnect(“localhost”, “dbtest”, “root”, “hoilamgi”); ResultSet rs= con.execQuery(“select * from tblemployee”); try { while(rs.next()) { System.out.println(rs.getInt(1) +” – “+rs.getString(2)); } } catch(Exception ex) { } } @Override public void addControl() { // TODO Auto-generated method stub super.addControl(); } @Override public void doActionControl(Object o) { 55 // TODO Auto-generated method stub } @Override public void doOwnerWindowFeature() { // TODO Auto-generated method stub super.doOwnerWindowFeature(); } @Override public ArrayList getListLop() { // TODO Auto-generated method stub return null; } @Override public ArrayList getListSinhvienByIdLop(String malop) { // TODO Auto-generated method stub return null; } } class ConnectSqlServerUI package tranduythanh.com.ui;importjava.sql.ResultSet; 56 importjava.util.ArrayList; import tranduythanh.com.connector.CSqlServerConnector; import tranduythanh.com.model.Lophoc; import tranduythanh.com.model.Sinhvien; public class ConnectSqlServerUI extends AbstractConnectUI{ /** * */ private static final long serialVersionUID = 1L; public ConnectSqlServerUI(String title) { CSqlServerConnector con=new CSqlServerConnector(); con.getConnect(“fithui”, “dbexample”, “sa”, “hoilamgi”); ResultSet rs=con.execQuery(“select * from tblCustomer”); try { while(rs.next()) { System.out.println(rs.getString(2)+” – “+ rs.getString(4)); } } 57 catch(Exception ex) { ex.printStackTrace(); } } @Override public void addControl() { // TODO Auto-generated method stub super.addControl(); } @Override public void doActionControl(Object o) { // TODO Auto-generated method stub } @Override public void doOwnerWindowFeature() { super.doOwnerWindowFeature(); } @Override public ArrayList getListLop() { // TODO Auto-generated method stub 58 return null; } @Override public ArrayList getListSinhvienByIdLop(String malop) { // TODO Auto-generated method stub return null; } } Các bạn ráng cài đặt để chạy chương trình 59 ... in: Lập Trình Java Phần – Kết nối hệ sở liệu Java By Trần Duy Thanh on March 28 , 20 12 | 14 Comments Votes Yêu cầu: Các bạn phải rành lập trình hướng đối tượng, tính kế thừa, tính đa hình hiểu phần. .. phải lập trình Java 1, đọc mà không hiểu email tới tranduythanh@hui.edu.vn Tôi giải thích phần bạn chưa hiểu —————————————————————————————————— ————— Phần 1: Kết nối Microsoft Access Java Phần 2: ... 20 08 Java Phần 3: Kết nối MySql Java —————————————————————————————————— ————— Topic Tôi muốn hướng dẫn bạn cách kết nối tới nhiều sở liệu khác ngôn ngữ lập trình Java Các bạn học đầy đủ môn Lập

Ngày đăng: 15/08/2017, 19:42

TỪ KHÓA LIÊN QUAN

w