1.機能
(1)ユーザーログイン
(2)書籍カテゴリ管理
(3)書籍管理
(4)ログアウト
2つ、ツール
(1)JAVAプログラミング:eclipes(1.8間もなくバージョン)
(2)SQL:mysql
(3)Jdbc:jar(mysql-connector-java-5.1.40-bin.jar)
3、エフェクト表示
(1)ログイン
(2)メインインターフェース
(3)本のカテゴリの追加
(4)図書カテゴリーの管理
(5)本の追加
(6)本の管理
(7)作者について
4つのデータベース設計
(1)t_user表
(2)t_bookType表
(3)t_bookテーブル
(4)Javaレベルの分析:
(1)論理図
(2)パッケージ構造
(5)データベースレベルの分析:
1ER分析
2データ
ユーザー:ユーザーID、ユーザー名、パスワード
ブックカテゴリ:ブックカテゴリ番号、ブックカテゴリ名
ブック:ブック番号、ブック名、ブック作成者、ブック価格、ブックの説明、ブックカテゴリ(外部キー)
本のカテゴリと本は、本のカテゴリに従って相互に関連しています
3データベーステーブルの確立
(1)t_useユーザー情報テーブル
(2)t_bookTypeブックカテゴリ管理テーブル
(3)t_bookブック情報管理テーブル
4データベーステーブルの関連付け(外部キーの関連付け)
(6)主なJavaコード分析:
(1)Daoクラス(例としてBookDaoを取り上げます)
package com.java1234.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.java1234.model.Book;
import com.java1234.model.BookType;
import com.java1234.util.StringUtil;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
/**
* 图书Dao类
* @author H_Pioneer
*
*/
public class BookDao {
/**
* 图书添加
* @param con
* @param book
* @return
* @throws Exception
*/
public int add(Connection con,Book book)throws Exception{
String sql="insert into t_book values(null,?,?,?,?,?,?)";
PreparedStatement pstmt=(PreparedStatement) 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();
}
/**
* 图书信息查询
* @param con
* @param book
* @return
* @throws Exception
*/
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=(PreparedStatement) con.prepareStatement(sb.toString());
return pstmt.executeQuery();
}
/**
* 图书信息删除
* @param con
* @param id
* @return
* @throws SQLException
*/
public int delete(Connection con,String id)throws Exception{
String sql="delete from t_book where id=?";
PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
pstmt.setString(1, id);
return pstmt.executeUpdate();
}
/**
* 图书信息修改
* @param con
* @param book
* @return
* @throws Exception
*/
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=(PreparedStatement) 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();
}
/**
*
* @param con
* @param bookTypeId
* @return
* @throws Exception
*/
public boolean existBookByBookTypeId(Connection con,String bookTypeId)throws Exception{
String sql="select * from t_book where bookTypeId=?";
PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
pstmt.setString(1, bookTypeId);
ResultSet rs = pstmt.executeQuery();
String string = new String();
return rs.next();
}
}
(2)モデルクラス(例としてBookModelを取り上げます)
package com.java1234.model;
/**
* 图书实体类
* @author H_Pioneer
*
*/
public class Book {
private int id; //编号
private String bookName; //图书名称
private String author; //作者
private String sex; //性别
private float price; //价格
private Integer bookTypeId; //图书类别
private String bookTypeName; //图书类别名称
private String bookDesc; //备注
public Book(int id2, String bookName, String author, String sex, float price, Integer bookTypeId, String bookDesc) {
super();
this.id = id2;
this.bookName = bookName;
this.author = author;
this.sex = sex;
this.price = price;
this.bookTypeId = bookTypeId;
this.bookDesc = bookDesc;
}
public Book(String bookName, String author, Integer bookTypeId) {
super();
this.bookName = bookName;
this.author = author;
this.bookTypeId = bookTypeId;
}
public Book(String bookName, String author, String sex, float price, Integer bookTypeId, String bookDesc) {
super();
this.bookName = bookName;
this.author = author;
this.sex = sex;
this.price = price;
this.bookTypeId = bookTypeId;
this.bookDesc = bookDesc;
}
public Book() {
super();
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public Integer getBookTypeId() {
return bookTypeId;
}
public void setBookTypeId(Integer bookTypeId) {
this.bookTypeId = bookTypeId;
}
public String getBookTypeName() {
return bookTypeName;
}
public void setBookTypeName(String bookTypeName) {
this.bookTypeName = bookTypeName;
}
public String getBookDesc() {
return bookDesc;
}
public void setBookDesc(String bookDesc) {
this.bookDesc = bookDesc;
}
}