Mục Lục Demo Java BLL/BUS layer package BLL; import DAL.CALAMDAL; import java.util.ArrayList; import quanlinhanvien.CALAM; public class CALAMBLL { CALAMDAL dal = new CALAMDAL("CUPI-NHOCKPHAM\\SQLEXPRESS",50301,"sa","123456","QUANLINHANVIEN"); public ArrayList getByMaCA(int ma) { return dal.getByMaCA(ma); } public ArrayList getAll() { return dal.getAll(); } } package BLL; import DAL.DANGNHAPDAL; import quanlinhanvien.DANGNHAP; public class DANGNHAPBLL { DANGNHAPDAL dal = new DANGNHAPDAL("CUPI-NHOCKPHAM\\SQLEXPRESS",50301,"sa","123456","QUANLINHANVIEN"); public boolean getLogin(String u, String p) { return dal.getLogin(u, p); } public boolean AddLogin(DANGNHAP dn) { return dal.AddLogin(dn); } } package BLL; import DAL.NGANHHANGDAL; import java.util.ArrayList; import quanlinhanvien.NGANHHANG; public class NGANHHANGBLL { NGANHHANGDAL dal = new NGANHHANGDAL("CUPI-NHOCKPHAM\\SQLEXPRESS",50301,"sa","123456","QUANLINHANVIEN"); public ArrayList getALL() { return dal.getALL(); } public ArrayList getByMaNH(int MaNV) { return dal.getByMaNH(MaNV); } } package BLL; import DAL.NHANVIENDAL; import java.util.ArrayList; import quanlinhanvien.NHANVIEN; public class NHANVIENBLL { NHANVIENDAL dal = new NHANVIENDAL("CUPI-NHOCKPHAM\\SQLEXPRESS",50301,"sa","123456","QUANLINHANVIEN"); public ArrayList getALL() { return dal.getALL(); } public boolean AddData(NHANVIEN nv) { return dal.AddData(nv); } public boolean DeleteData(int ma) { return dal.DeleteData(ma); } public boolean UpdateData(NHANVIEN nv) { return dal.UpdateData(nv); } } package BLL; import DAL.QUANLIDAL; import java.util.ArrayList; import quanlinhanvien.QUANLI; public class QUANLIBLL { QUANLIDAL dal = new QUANLIDAL("CUPI-NHOCKPHAM\\SQLEXPRESS",50301,"sa","123456","QUANLINHANVIEN"); public ArrayList getALL() { return dal.getALL(); } public ArrayList getPhuCap(int MaNV) { return dal.getPhuCap(MaNV); } public boolean AddData(QUANLI ql) { return dal.AddData(ql); } public boolean DeleteData(int MaNV) { return dal.DeleteData(MaNV); } public boolean UpdateData(QUANLI ql) { return dal.UpdateData(ql); } } DAL/DAO layer package DAL; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public abstract class BaseSQLConnect { String Host = ""; String UserName = ""; String Password = ""; String DataBase = ""; int Port = 3306; Connection connect = null; Statement statement = null; ResultSet result = null; public BaseSQLConnect() { } protected abstract void driverTest() throws Exception; protected abstract Connection getConnect() throws Exception; protected Statement getStatement() throws Exception { if (this.statement == null ? true : this.statement.isClosed()) { this.statement = this.getConnect().createStatement(); } return this.statement; } public ResultSet executeQuery(String Query) throws Exception { try { this.result = getStatement().executeQuery(Query); } catch (Exception e) { throw new Exception("Error: " + e.getMessage() + " - " + Query); } return this.result; } public int executeUpdate(String Query) throws Exception { int res = Integer.MIN_VALUE; try { res = getStatement().executeUpdate(Query); } catch (Exception e) { throw new Exception("Error : " + e.getMessage() + "-" + Query); } finally { this.Close(); } return res; } public void Close() throws SQLException { if (this.result != null){ if(!this.result.isClosed()){ this.result.close(); } this.result = null; } if (this.statement != null){ if(!this.statement.isClosed()) { this.statement.close(); } this.statement = null; } if (this.connect != null){ if(!this.connect.isClosed()) { this.connect.close(); } this.connect = null; } } } package DAL; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; import java.sql.Connection; public class MSSQLConnect extends BaseSQLConnect { public MSSQLConnect(String Host,int Port, String UserName, String Password, String DataBase) { this.DataBase=DataBase; this.Host=Host; this.Password=Password; this.UserName=UserName; this.Port=Port; } @Override protected void driverTest() throws Exception { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(java.lang.ClassNotFoundException e) { throw new Exception("MSSQL JDBC Driver not found"); } } @Override protected Connection getConnect() throws Exception { if(this.connect==null){ driverTest(); try{ SQLServerDataSource ds = new SQLServerDataSource(); ds.setUser(this.UserName); ds.setPassword(this.Password); ds.setServerName(this.Host); ds.setPortNumber(this.Port); ds.setDatabaseName(this.DataBase); this.connect=ds.getConnection(); } catch (java.sql.SQLException e){ throw new Exception("Không thể kết nối đến DataBase Server"); } } return this.connect; } } package DAL; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import quanlinhanvien.CALAM; public class CALAMDAL extends MSSQLConnect{ private final String GET_BY_MACA = "select * from CALAM where MaCA=?"; private final String GET_ALL = "select * from CALAM"; public CALAMDAL(String Host, int Port, String UserName, String Password, String DataBase) { super(Host, Port, UserName, Password, DataBase); } public ArrayList getByMaCA(int ma) { ArrayList objs = new ArrayList(); try { getConnect(); PreparedStatement ps = connect.prepareStatement(GET_BY_MACA); ps.setInt(1, ma); ResultSet rs = ps.executeQuery(); if(rs!=null && rs.next()) { CALAM item = new CALAM(); item.setMaCA(rs.getInt("MaCA")); item.setTenCA(rs.getString("TenCA")); item.setThoiGian(rs.getString("ThoiGian")); objs.add(item); } Close(); }catch (Exception e) { e.printStackTrace(); } return objs; } public ArrayList getAll() { ArrayList objs = new ArrayList(); try { getConnect(); PreparedStatement ps = connect.prepareStatement(GET_ALL); ResultSet rs = ps.executeQuery(); if(rs!=null) { while(rs.next()) { CALAM item = new CALAM(); item.setMaCA(rs.getInt("MaCA")); item.setTenCA(rs.getString("TenCA")); item.setThoiGian(rs.getString("ThoiGian")); objs.add(item); } } Close(); }catch (Exception e) { e.printStackTrace(); } return objs; } } package DAL; import java.sql.PreparedStatement; import java.sql.ResultSet; import quanlinhanvien.DANGNHAP; public class DANGNHAPDAL extends MSSQLConnect { private final String GET_LOGIN = "select * from DANGNHAP where UserName=? and PassWord=?"; private final String ADD_LOGIN = "insert into DANGNHAP values (?,?)"; public DANGNHAPDAL(String Host, int Port, String UserName, String Password, String DataBase) { super(Host, Port, UserName, Password, DataBase); } public boolean getLogin(String u, String p) { boolean check = false; try{ getConnect(); PreparedStatement ps = connect.prepareStatement(GET_LOGIN); ps.setString(1, u); ps.setString(2, p); ResultSet rs = ps.executeQuery(); if(rs!=null && rs.next()) { check = true; } Close(); } catch (Exception e) { e.printStackTrace(); } return check; } public boolean AddLogin(DANGNHAP dn) { boolean check = false; try { getConnect(); PreparedStatement ps = connect.prepareStatement(ADD_LOGIN); ps.setString(1, dn.getUserName()); ps.setString(2, dn.getPassWord()); int rs = ps.executeUpdate(); if(rs > 0) { check = true; } Close(); }catch (Exception e) { e.printStackTrace(); } return check; } } package DAL; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import quanlinhanvien.NGANHHANG; public class NGANHHANGDAL extends MSSQLConnect{ private final String GET_ALL = "select * from NGANHHANG"; private final String GET_BY_MANH = "select NGANHHANG.MaNH,NGANHHANG.TenNH " + "from NGANHHANG,NHANVIEN,QUANLI " + "where NGANHHANG.MaNH=QUANLI.MaNH AND NHANVIEN.MaNV=QUANLI.MaNV AND NHANVIEN.MaNV=?"; public NGANHHANGDAL(String Host, int Port, String UserName, String Password, String DataBase) { super(Host, Port, UserName, Password, DataBase); } public ArrayList getALL() { ArrayList objs = new ArrayList(); try { getConnect(); PreparedStatement ps = connect.prepareStatement(GET_ALL); ResultSet rs = ps.executeQuery(); if(rs!=null) { while(rs.next()) { NGANHHANG item = new NGANHHANG(); item.setMaNH(rs.getInt("MaNH")); item.setTenNH(rs.getString("TenNH")); objs.add(item); } } Close(); } catch (Exception e) { e.printStackTrace(); } return objs; } public ArrayList getByMaNH(int MaNV) { ArrayList objs = new ArrayList(); try { getConnect(); 10 }catch(Exception e){ throw new Exception("Error : " + e.getMessage()+ "-" + Query ); }finally{ this.Close(); } return res; } public void Close() throws Exception{ if(this.result != null && !this.result.isClosed()){ this.result.close(); this.result = null; } if(this.statement != null && ! this.statement.isClosed()){ this.statement.close(); this.statement = null; } if(this.connect != null && ! this.connect.isClosed()){ this.connect.close(); this.connect = null; } } } private void btnDocMouseClicked(java.awt.event.MouseEvent evt) { try { MySQLConnect conn = new MySQLConnect("localhost", "root", "", "hocsinh"); //database name: hocsinh //table name: danhsachhocsinh ResultSet result = conn.executeQuery("SELECT * FROM danhsachhocsinh"); Vector v = new Vector(); Vector header = new Vector(); header.add("ID");//tua de cot cua jtable header.add("Tên"); DefaultTableModel model = new DefaultTableModel(header, 0); while (result.next()) { v = new Vector(); v.addElement(result.getInt(1));//ô thứ record hoc sinh hành v.addElement(result.getString(2)); model.addRow(v);//danh sach cac row (hoc sinh) } jTable1.setModel(model);//hien thi ds len table ds=model;//bien ds chua ds hs } catch (Exception e) { JOptionPane.showMessageDialog(null, "Không kết nối database database không tồn tại"); } } private void btnThemMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try { MySQLConnect conn = new MySQLConnect("localhost", "root", "", "hocsinh"); String qry="Insert into danhsachhocsinh values ('"; qry+=jTextField1.getText()+"','"; qry+=jTextField2.getText()+"','','');"; JOptionPane.showMessageDialog(null, qry); int i=conn.executeUpdate(qry); if(i>=0) JOptionPane.showMessageDialog(null, "Luu cong"); else JOptionPane.showMessageDialog(null, "loi roi"); Vector v = new Vector(); v.addElement(jTextField1.getText()); v.addElement(jTextField2.getText()); ds.addRow(v); jTable1.setModel(ds); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Không kết nối database database không tồn tại"); } } private void btnXoaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try { MySQLConnect conn = new MySQLConnect("localhost", "root", "", "hocsinh"); String qry="Delete from danhsachhocsinh where maso='"; qry+=jTextField1.getText()+"'"; JOptionPane.showMessageDialog(null, qry); int i=conn.executeUpdate(qry); if(i>=0) JOptionPane.showMessageDialog(null, "Xoa cong"); else JOptionPane.showMessageDialog(null, "loi roi"); ds.removeRow(current_row_no); jTable1.setModel(ds); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Không kết nối database database không tồn tại"); } } private void btnSuaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try { MySQLConnect conn = new MySQLConnect("localhost", "root", "", "hocsinh"); String qry="Update danhsachhocsinh set "; qry+= " hoten='"+jTextField2.getText()+"' "; qry+=" where maso='"+jTextField1.getText()+"'"; JOptionPane.showMessageDialog(null, qry); int i=conn.executeUpdate(qry); if(i>=0) JOptionPane.showMessageDialog(null, "cap nhat cong"); else JOptionPane.showMessageDialog(null, "loi roi"); //ds.setValueAt(jTextField1.getText(), current_row_no, 0); ds.setValueAt(jTextField2.getText(), current_row_no, 1); jTable1.setModel(ds); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Không kết nối database database không tồn tại"); } } private void btnDongMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: } private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: int n=jTable1.getSelectedRow(); current_row_no=n; jTextField1.setText(jTable1.getValueAt(n, 0).toString()); jTextField2.setText(jTable1.getValueAt(n, 1).toString()); } //thuoc tinh bo sung DefaultTableModel ds; int current_row_no; Giải đề public float GiaiThua(int n){ if(n==0) return 1; else return n*GiaiThua(n-1); } public float S(float x, int n){ if(n==0) return 1; else return (float) (S(x,n-1) + (Math.pow(-1, n)*Math.pow(x, 2*n))/GiaiThua(2*n)); } private void btnTinhGiaTriActionPerformed(java.awt.event.ActionEvent evt) { try { float x = Integer.valueOf(txtNhapx.getText()); int n = Integer.valueOf(txtNhapn.getText()); float ketqua ; ketqua = S(x,n); txtKetQua.setText("" + ketqua); }catch(Exception ex){ if("".equals(txtNhapx.getText())||"".equals(txtNhapn.getText())|| ("".equals(txtNhapx.getText())&&"".equals(txtNhapn.getText()))) { JOptionPane.showMessageDialog(this,"Xin nhập giá trị!"); } else { JOptionPane.showMessageDialog(this,"n x kiểu số!"); } } // TODO add your handling code here: } public class Fibonacy { int a; public Fibonacy() { } public Fibonacy(int a) { this.a=a; } public boolean CheckFibo(int a) { boolean check = false; int A, B, C; A = 0; B = 1; C = A + B; if(a>=0) { if(a==0||a==1) { check = true; }else{ while(C[...]... Bạn cũng có thể sử dụng ch là một ký tự cụ thể String s3 = "ab123ab321"; s3.lastIndexOf(97, s3.length()); //Trả về 5, 97 là mã của ký tự 'a' s3.lastIndexOf('b', s3.length()); //Trả về 6 14 lastIndexOf(String st): Hàm này ngược với hàm thứ 10 ở trên, có nghĩa là hàm trả về vị trí xuất hiện cuối cùng của chuỗi st trong chuỗi hiện thời String s1="abc123bca"; s1.lastIndexOf("bc"); //Trả về số 6 15 lastIndexOf(String... main(String args[]){ String s1="Vietjack"; String s2="Vietjack"; String s3="Doan"; System.out.println(s1.compareTo(s2));//0 System.out.println(s1.compareTo(s3));//1(boi vi s1 > s3) System.out.println(s3.compareTo(s1));//-1(boi vi s3 < s1 ) } } Hàm chuyển đổi: package sinhviencntt.com.StringUtils; import java. text.Normalizer; import java. util.regex.Pattern; public class StringUtils { public static String... với toán tử == trong Java Toán tử == trong Java so sánh các tham chiếu chứ không phải so sánh các giá trị Ví dụ: class Sosanhchuoi3{ public static void main(String args[]){ String s1="Vietjack"; 25 String s2="Vietjack"; String s3=new String("Vietjack"); System.out.println(s1==s2);//true (boi vi ca hai cung tham chieu toi cung instance) System.out.println(s1==s3);//false(boi vi s3 tham chieu toi instance... ps.setInt (3, ql.getNH().getMaNH()); ps.setFloat(4, ql.getPhuCap()); ps.setInt(5, ql.getMaNV()); int rs = ps.executeUpdate(); if(rs > 0) { check = true; } Close(); }catch (Exception e) { e.printStackTrace(); } return check; } } 3 GUI package GUI; import BLL.CALAMBLL; import BLL.NGANHHANGBLL; import BLL.NHANVIENBLL; import BLL.QUANLIBLL; import java. util.ArrayList; import java. util.Vector; import javax.swing.JOptionPane;... str.indexOf("CD", 3) ; //Trả về -1 vì từ vị trí chỉ số 3 không tìm thấy chuỗi "CD" 12 lastIndexOf(int ch): Hàm này trả lại vị trí chỉ số của ký ch cuối cùng trong chuỗi System.out.print("Đào tạo Lập trình viên".lastIndexOf('t')); /* In ra giá trị là 12 vì ký tự 't' cuối cùng của chuỗi có chỉ số 12 */ 13 lastIndexOf(int ch, int lastIndex): Trả lại vị trí xuất hiện cuối cùng của ký tự có mã ch (từ 0 đến 65 536 ) trong... QuanLiNganhHang m = new QuanLiNganhHang(); m.setVisible(true); } java. awt.EventQueue.invokeLater(new Runnable() { public void run() { new QuanLiNhanVien().setVisible(true); } }); 24 Tài liệu ôn thi Java 1 So sánh chuỗi bởi phương thức equals() trong Java Phương thức equals() so sánh nội dung ban đầu của chuỗi Nó so sánh tính cân bằng của các giá trị chuỗi Lớp String cung cấp hai phương thức: • public boolean... s2.lastIndexOf("a", 3) ; //Trả về 2 16 length(): Hàm này dùng để lấy chiều dài của chuỗi hiện thời String s4 = "1a2b3c"; s4.length(); //Trả về 6 17 replace(char oldChar, char newChar): Hàm có nhiệm vụ thay thế tất cả các ký tự oldChar của chuỗi hiện thời bằng các ký tự newChar và trả về chuỗi mới tương ứng String s5 = "a1a2a3"; s5.replace('a', 'A'); //Sau câu lệnh này, s5 sẽ chứa chuỗi "A1A2A3" 18 startsWith(String... trung binh cua sinh vien"); try{ diemtb=Float.parseFloat(br.readLine()); }catch (IOException ex){} TEST public class test { public static void main (String args[]){ System.out.println( "39 +3" ); System.out.println (39 +3) ; System.out.print("Hello"); System.out.println("World"); //System.out.println("Hello", "World!"); String str = " Truong Dai Hoc Sai Gon "; //1 Độ dài của s int l = str.length(); System.out.println("'"... j=Integer.parseInt(br.readLine()); n=Integer.parseInt(br.readLine()); String s3 = trim.substring(j,n+j); System.out.println("'" + s3 + "'"); }catch (IOException ex){ System.out.println("Không tồn tại chuỗi !"); } } } //6 Đảo ngược chuỗi String reverse = new StringBuffer(trim).reverse().toString(); System.out.println(reverse); Java Trang package connectmysql; import java. sql.*; public class MySQLConnect { String Host = "";... Class.forName("org.gjt.mm.mysql.Driver"); }catch (java. lang.ClassNotFoundException e){ throw new Exception("MySQL JDBC Driver not found."); } } protected Connection getConnect() throws Exception{ if(this.connect == null){ driverTest(); String url = "jdbc:mysql://" + this.Host + " :33 06/" + this.Database; try{ this.connect = DriverManager.getConnection(url, this.Username, this.Password); }catch (java. sql.SQLException e){ throw