久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
不完整 基于Java的圖書(shū)管理系統(tǒng)實(shí)現(xiàn)
[打印本頁(yè)]
作者:
19966590823
時(shí)間:
2022-5-24 18:29
標(biāo)題:
不完整 基于Java的圖書(shū)管理系統(tǒng)實(shí)現(xiàn)
用戶(hù)登錄界面
當(dāng)用戶(hù)進(jìn)入系統(tǒng)時(shí),圖書(shū)管理員根據(jù)自己的身份信息,輸入具有唯一標(biāo)識(shí)的用戶(hù)名和密碼,進(jìn)行登陸;若輸入出現(xiàn)錯(cuò)誤,可清空數(shù)據(jù),重新進(jìn)行輸入。
登錄界面
具體功能實(shí)現(xiàn)代碼:
public class UserDao {
public User login(Connection con,User user)throws Exception{
User resultUser=null;
String sql="select * from t_user where userName=? and password=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
resultUser=new User();
resultUser.setId(rs.getInt("id"));
resultUser.setUserName(rs.getString("userName"));
resultUser.setPassword(rs.getString("password"));
}
return resultUser;
}
圖書(shū)類(lèi)別管理界面包括對(duì)圖書(shū)類(lèi)別的添加與維護(hù)功能,為了頁(yè)面的簡(jiǎn)潔性與操作的便利性,將圖書(shū)類(lèi)別的查詢(xún)、修改與刪除操作統(tǒng)一放在了維護(hù)功能內(nèi)。在圖書(shū)類(lèi)別添加界面,在添加完類(lèi)別與類(lèi)別的簡(jiǎn)單描述之后,數(shù)據(jù)庫(kù)將通過(guò)insert語(yǔ)句,完成對(duì)圖書(shū)類(lèi)別的添加;在維護(hù)功能頁(yè)面,數(shù)據(jù)庫(kù)將通過(guò)select語(yǔ)句、update語(yǔ)句、delete語(yǔ)句分別對(duì)圖書(shū)類(lèi)別進(jìn)行查詢(xún)、修改、刪除操作
圖書(shū)類(lèi)別維護(hù)界面
具體功能實(shí)現(xiàn)代碼:
public class BookTypeDao {
public int add(Connection con,BookType bookType)throws Exception{
String sql="insert into t_bookType values(null,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, bookType.getBookTypeName());
pstmt.setString(2, bookType.getBookTypeDesc());
return pstmt.executeUpdate();
}
public ResultSet list(Connection con,BookType bookType)throws Exception{
StringBuffer sb=new StringBuffer("select * from t_bookType");
if(StringUtil.isNotEmpty(bookType.getBookTypeName())){
sb.append(" and bookTypeName like '%"+bookType.getBookTypeName()+"%'");
}
PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));
return pstmt.executeQuery();
}
public int delete(Connection con,String id)throws Exception{
String sql="delete from t_bookType where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
return pstmt.executeUpdate();
}
public int update(Connection con,BookType bookType)throws Exception{
String sql="update t_bookType set bookTypeName=?,bookTypeDesc=? where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, bookType.getBookTypeName());
pstmt.setString(2, bookType.getBookTypeDesc());
pstmt.setInt(3, bookType.getId());
return pstmt.executeUpdate();
}
}
圖書(shū)信息管理界面
圖書(shū)信息管理界面包括對(duì)圖書(shū)信息的添加與維護(hù)功能,為了頁(yè)面的簡(jiǎn)潔性與操作的便利性,將圖書(shū)信息的查詢(xún)、修改與刪除操作統(tǒng)一放在了維護(hù)功能內(nèi)。在圖書(shū)信息添加界面,在添加完圖書(shū)的名稱(chēng)、作者、價(jià)格等信息后,數(shù)據(jù)庫(kù)將通過(guò)insert語(yǔ)句,完成對(duì)圖書(shū)信息的添加;在維護(hù)功能頁(yè)面,數(shù)據(jù)庫(kù)將通過(guò)select語(yǔ)句、update語(yǔ)句、delete語(yǔ)句分別對(duì)圖書(shū)信息進(jìn)行查詢(xún)、修改、刪除操作。
具體功能實(shí)現(xiàn)代碼:
public class BookDao {
public int add(Connection con,Book book)throws Exception{
String sql="insert into t_book values(null,?,?,?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, book.getBookName());
pstmt.setString(2, book.getAuthor());
pstmt.setString(3, book.getSex());
pstmt.setFloat(4, book.getPrice());
pstmt.setInt(5, book.getBookTypeId());
pstmt.setString(6, book.getBookDesc());
return pstmt.executeUpdate();
}
public ResultSet list(Connection con,Book book)throws Exception{
StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");
if(StringUtil.isNotEmpty(book.getBookName())){
sb.append(" and b.bookName like '%"+book.getBookName()+"%'");
}
if(StringUtil.isNotEmpty(book.getAuthor())){
sb.append(" and b.author like '%"+book.getAuthor()+"%'");
}
if(book.getBookTypeId()!=null && book.getBookTypeId()!=-1){
sb.append(" and b.bookTypeId="+book.getBookTypeId());
}
PreparedStatement pstmt=con.prepareStatement(sb.toString());
return pstmt.executeQuery();
}
public int delete(Connection con,String id)throws Exception{
String sql="delete from t_book where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
return pstmt.executeUpdate();
}
public int update(Connection con,Book book)throws Exception{
String sql="update t_book set bookName=?,author=?,sex=?,price=?,bookDesc=?,bookTypeId=? where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, book.getBookName());
pstmt.setString(2, book.getAuthor());
pstmt.setString(3, book.getSex());
pstmt.setFloat(4, book.getPrice());
pstmt.setString(5, book.getBookDesc());
pstmt.setInt(6, book.getBookTypeId());
pstmt.setInt(7, book.getId());
return pstmt.executeUpdate();
}
}
功能界面實(shí)現(xiàn)原理
系統(tǒng)整體使用swing框架,若要主界面添加菜單,則需要添加菜單空間menu和標(biāo)簽控件lable,然后在init方法內(nèi)設(shè)置各項(xiàng)屬性即可;若要在原窗體內(nèi)添加對(duì)象,則需先在init方法里添加所需控件,然后實(shí)例化對(duì)象,最后用代碼設(shè)置各項(xiàng)屬性;若要添加一個(gè)彈出式窗體,則先需將菜單項(xiàng)做好,加入一個(gè)監(jiān)聽(tīng)事件處理器,被彈出窗體要以新建源文件的形式編寫(xiě)(新建Java類(lèi)),并添加一個(gè)事件處理方法,然后在構(gòu)造方法里調(diào)用動(dòng)態(tài)加載的init方法,,再在這個(gè)動(dòng)態(tài)加載方法里添加要顯示的內(nèi)容即可。
數(shù)據(jù)庫(kù)實(shí)現(xiàn)
系統(tǒng)與數(shù)據(jù)庫(kù)的成功連接和搭建,是該系統(tǒng)能夠順利實(shí)現(xiàn)其各個(gè)模塊功能的重要環(huán)節(jié),這個(gè)環(huán)節(jié)中利用Sqlyog建立連接并新建用戶(hù)表、圖書(shū)類(lèi)別管理表、圖書(shū)信息管理表后,再通過(guò)使用JDBC等各項(xiàng)技術(shù),實(shí)現(xiàn)了系統(tǒng)與數(shù)據(jù)庫(kù)的連接,具體代碼如下:
public class DbUtil {
private String dbUrl="";
private String dbUse
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩理论在线
|
秘密爱大尺度做爰呻吟
|
一区二区三区四区视频
|
激情婷婷
|
中文字幕在线看片
|
激情影院在线观看
|
91丨porny丨成人蝌蚪
|
人人看人人草
|
麻豆成人免费视频
|
岛国精品在线播放
|
毛茸茸free性熟hd
|
欧美极品视频
|
午夜aaa
|
97超碰在线免费观看
|
a在线免费观看
|
欧美一级做性受免费大片免费
|
日韩精品片
|
亚洲一区在线视频
|
国产盗摄一区二区
|
免费看大片a
|
欧美日韩毛片
|
久久亚洲免费视频
|
国产欧美一区二区
|
三级在线观看视频
|
亚洲砖区区免费
|
人人插人人爱
|
精品久久久一区二区
|
又色又爽又黄gif动态图
|
精品国产伦一区二区三区
|
欧美精品网
|
国产精品一区三区
|
91亚洲视频
|
亚洲综合五月天婷婷丁香
|
色综合五月
|
欧美日本国产
|
国产精自产拍久久久久久蜜
|
亚洲精品91
|
欧美精品久久久久久久多人混战
|
一区二区av
|
在线网站免费观看18
|
高跟肉丝丝袜呻吟啪啪网站av
|