使用java,JFrame類自己畫的,用到的面板就用JPane類,用到按鈕就JButton類,用到標簽就JLable類!在java.swing包里。布局在java.awt包里
成都創(chuàng)新互聯(lián),是成都地區(qū)的互聯(lián)網(wǎng)解決方案提供商,用心服務(wù)為企業(yè)提供網(wǎng)站建設(shè)、app軟件定制開發(fā)、小程序設(shè)計、系統(tǒng)按需求定制網(wǎng)站和微信代運營服務(wù)。經(jīng)過數(shù)十余年的沉淀與積累,沉淀的是技術(shù)和服務(wù),讓客戶少走彎路,踏實做事,誠實做人,用情服務(wù),致力做一個負責(zé)任、受尊敬的企業(yè)。對客戶負責(zé),就是對自己負責(zé),對企業(yè)負責(zé)。
1.Java連接MySQL數(shù)據(jù)庫
Java連接MySql需要下載JDBC驅(qū)動MySQL-connector-java-5.0.5.zip(舉例,現(xiàn)有新版本)。然后將其解壓縮到任一目錄。我是解壓到D盤,然后將其目錄下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具體如下:
“我的電腦”- “屬性” - “高級” - “環(huán)境變量”,在系統(tǒng)變量那里編輯classpath,將D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加這個字符串前要加“;”,以與前一個classpath區(qū)分開。然后確定。
package hqs;
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//聲明Connection對象
Connection con;
//驅(qū)動程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要訪問的數(shù)據(jù)庫名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置時的用戶名
String user = "root";
//MySQL配置時的密碼
String password = "root";
//遍歷查詢結(jié)果集
try {
//加載驅(qū)動程序
Class.forName(driver);
//1.getConnection()方法,連接MySQL數(shù)據(jù)庫!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句??!
Statement statement = con.createStatement();
//要執(zhí)行的SQL語句
String sql = "select * from student";
//3.ResultSet類,用來存放獲取的結(jié)果集?。?/p>
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執(zhí)行結(jié)果如下所示:");
System.out.println("-----------------");
System.out.println(" 學(xué)號" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數(shù)據(jù)
name = rs.getString("stuname");
//獲取stuid這列數(shù)據(jù)
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結(jié)果存儲新的字節(jié)數(shù)組中。
//然后使用GB2312字符集解碼指定的字節(jié)數(shù)組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結(jié)果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//數(shù)據(jù)庫驅(qū)動類異常處理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//數(shù)據(jù)庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("數(shù)據(jù)庫數(shù)據(jù)成功獲?。?!");
}
}
}
2.添加、修改、刪除操作
在上面while代碼段后面添加以下代碼段:String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數(shù)據(jù)
name = rs.getString("stuname");
//獲取stuid這列數(shù)據(jù)
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結(jié)果存儲新的字節(jié)數(shù)組中。
//然后使用GB2312字符集解碼指定的字節(jié)數(shù)組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結(jié)果
System.out.println(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
//預(yù)處理添加數(shù)據(jù),其中有兩個參數(shù)--“?”
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); //設(shè)置參數(shù)1,創(chuàng)建id為5的數(shù)據(jù)
psql.setString(2, "xiaogang"); //設(shè)置參數(shù)2,name 為小明
psql.executeUpdate(); //執(zhí)行更新
//預(yù)處理更新(修改)數(shù)據(jù)
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1,"xiaowang"); //設(shè)置參數(shù)1,將name改為王五
psql.setInt(2,10); //設(shè)置參數(shù)2,將id為2的數(shù)據(jù)做修改
psql.executeUpdate();
//預(yù)處理刪除數(shù)據(jù)
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();
//查詢修改數(shù)據(jù)后student表中的數(shù)據(jù)
psql = con.prepareStatement("select*from student");
res = psql.executeQuery(); //執(zhí)行預(yù)處理sql語句
System.out.println("執(zhí)行增加、修改、刪除后的數(shù)據(jù)");
while(res.next()){
name = res.getString("stuname");
id = res.getString("stuid");
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
System.out.println(id + "\t" + name);
}
res.close();
psql.close();
該代碼段使用到了預(yù)處理語句:con.prepareStatement(String sql);
這樣生成數(shù)據(jù)庫底層的內(nèi)部命令,并將該命令封裝在preparedStatement對象中,可以減輕數(shù)據(jù)庫負擔(dān),提高訪問數(shù)據(jù)庫速度。 運行結(jié)果:
創(chuàng)建一個類,在該類的主方法中創(chuàng)建Scanner掃描起來封裝System類的in輸入流,然后提示用戶輸入數(shù)字,并輸入數(shù)字的位數(shù)。代碼如下: import java.util.Scanner; public class InputCode { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);// 創(chuàng)建輸入流掃描器 System.out.println("請輸入數(shù)字:");// 提示用戶輸入 String line = scanner.nextLine();// 獲取用戶輸入的一行文本 // 打印對輸入文本的描述 System.out.println("原來是" + line.length() + "位數(shù)字的啊"); } }