前言:
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。
Swing的特点:
1、用纯Java写成,所以同Java本身一样可以支持跨平台运行;
2、是JFC的一部分,支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。
一、创建项目
1、在SQLServer数据库中创建书籍表【Book】
2、在Eclipse中创建项目【Swing Book】
3、在src中创建4个包,分别是util包(帮助类)、entity包(实体类)、dao包(数据操作类)、ui包(窗体类)
二、配置环境
1、进行导包,将jar包导入项目
2、若要美化可导入美化包
3、运行主页面窗体
三、书籍系统的数据维护
DBHelper.java【帮助类】
public class DBHelper {
private static String cname="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String url="jdbc:sqlserver://localhost:1433;DatabaseName=Chinese";
private static String uname="sa";//数据库登录名称
private static String pwd="1216";//登录密码
//注册静态代码块
static {
try {
Class.forName(cname);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 连接数据库
* @return
*/
public static Connection getcon() {
Connection con = null;
try {
con = DriverManager.getConnection(url, uname, pwd);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
/**
* 关闭连接
* @param con
* @param ps
* @param rs
*/
public static void closeDB(Connection con,PreparedStatement ps,ResultSet rs) {
try {
//判断con/ps/rs不为空
if(con!=null) {
con.close();
}
if(ps!=null) {
ps.close();
}
if(rs!=null) {
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//测试
public static void main(String[] args) {
System.out.println(DBHelper.getcon());
}
}
Book.java 【书籍实体类】
package com.china.entity;
public class Book {
private int bid;
private String bname;
private String btype;
private String bpeople;//面向人群
private String baddress;//出版社
private String binfo;
public Book() {
super();
}
public Book(int bid, String bname, String btype, String bpeople, String baddress, String binfo) {
super();
this.bid = bid;
this.bname = bname;
this.btype = btype;
this.bpeople = bpeople;
this.baddress = baddress;
this.binfo = binfo;
}
public Book(String bname, String btype, String bpeople, String baddress, String binfo) {
super();
this.bname = bname;
this.btype = btype;
this.bpeople = bpeople;
this.baddress = baddress;
this.binfo = binfo;
}
public int getBid() {
return bid;
}
public void setBid(int bid) {
this.bid = bid;
}
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname;
}
public String getBtype() {
return btype;
}
public void setBtype(String btype) {
this.btype = btype;
}
public String getBpeople() {
return bpeople;
}
public void setBpeople(String bpeople) {
this.bpeople = bpeople;
}
public String getBaddress() {
return baddress;
}
public void setBaddress(String baddress) {
this.baddress = baddress;
}
public String getBinfo() {
return binfo;
}
public void setBinfo(String binfo) {
this.binfo = binfo;
}
@Override
public String toString() {
return "Book [bid=" + bid + ", bname=" + bname + ", btype=" + btype + ", bpeople=" + bpeople + ", baddress="
+ baddress + ", binfo=" + binfo + "]";
}
}
BookDao.java【数据操作类】
public class BookDao {
//模糊查询
public ArrayList<Book> getBylike(String col,String str){
ArrayList<Book> blist = new ArrayList<>();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//连接数据库
con =DBHelper.getcon();
//创建PreparedStatement对象
ps = con.prepar