MyBatis-図書管理システムへの登録および一部照会操作(管理者部分)

7492 ワード

ログインインタフェース(ここではパスワードチェック部分を省略)およびすべての図書情報の表示
1、データベース設計:
–図書類book_id図書コードbook_name図書名price図書価格store図書在庫des図書概要book_type図書タイプ借書表book_id図書コードborrow_id借用人コードborrow_date借用日back_dateデフォルト返却日返却テーブルbook_id図書コードborrow_id借用人コードback_date実績返却日dely_money滞納金ユーザーテーブルuser_idユーザ符号化user_nameユーザー名phone電話user_typeユーザータイプ図書タイプ表type_idタイプ符号化type_nameタイプ名default_dateデフォルト借用可能時間(単位:日)delay_money_per_day滞納金の徴収基準–毎日/元模擬借用書、返却書、図書管理データデータベースでデータベースを参照-および表を作成し、データを挿入する
2、ログイン画面
1、環境の構成、データベースの接続



    
    
    
    
     
        
    
    
    
    
        
            
            
             
                
                
                
                
            
        
    
    
    
       
          
        
    


2、データベース接続方法を抽象化する-MapperConfigに入れる
private static SqlSessionFactory factory;
static {
    //    
    SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
    try {
        //mybatis-cfg.xml mybatis             
        InputStream is= Resources.getResourceAsStream("mybatis-cfg.xml");
        factory=builder.build(is);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
//  session
public static SqlSession getSession(){
    //              
    return factory.openSession(true);
}
//  session
public static void closeSession(SqlSession session){
    if(session!=null){
        session.close();
    }
}

3、dao層にインタフェースとxmlファイル(user)を確立する
Mapperインタフェース
public interface UserMapper {
    User getUserByName(String name);
}

対応するインタフェースのxml、sql文(動的sql文を含む)を記述する
//  namespace  Mapper
//  id  Mapper   






4、エンティティークラスを作成する
/       ,               
public class User {
    private  int user_id;
    private String user_name;
    private String phone;
    private String user_type;
}

5、サービス層–servlet層とdao層を接続する
//  --    
public interface UserService {
    public User login(String user_name);
}
//        
@Override
public User login(String user_name) {
    SqlSession session = MapperConfig.getSession();
    User users = session.getMapper(UserMapper.class).getUserByName(user_name);
    System.out.println("users" + users);
    return users;
}

6、servelt層はフロントページとバックグラウンドデータを接続し、serviceを通じてdao層の方法を呼び出す.
ここで使用するservletは親HttpServiceletを継承し、親メソッドを呼び出します.
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// jsp       
   String user_name=req.getParameter("userName");
   //  service  
    UserService service=new UserServiceImpl();
    User user=service.login(user_name);
           
    if(user==null){
        req.getSession().setAttribute("msg","     ,      ");
        resp.sendRedirect("index.jsp");
    }else{
        req.getSession().setAttribute("msg","    ");
        req.getSession().setAttribute("user",user);
        resp.sendRedirect("index.jsp");
    }

7、jsp層–フロント文

//    +    

${msg}:${user.user_name} ${user.user_type.equals(" ")?" ":""}

---------------------------

クリックしてすべての を

レビュー

${msg}


8.webを構成する.xmlファイル

    LoginServlet
    cn.kgc.kb07.servlet.LoginServlet


    LoginServlet
    /login.do


二図書検索の曖昧な検索構想:
検索キーワードが入力されていないときにすべての図書リスト1を表示するには、bookエンティティクラス、mybatis-cfgが必要である.xmlでresource//book対応mapper–BookMapperを構成する
public interface BookMapper {
    List getBookList();//        
    List getBookListByS(Map map);//               
    //  Map  ,            
}

2、book対応のxmlファイルを配置してすべての図書情報を検索する

    

クエリー条件に基づいて動的sql文を記述する
 

3、BookServiceインタフェース定義方法、BookServiceImpl実現クラス方法実現bookService
public interface BookService {
    List getBookList();
    List getBookListByS(String book_name,String user_name);
}

BookServiceImpl

public List getBookList() {
    session= MapperConfig.getSession();
    List bookList=session.getMapper(BookMapper.class).getBookList();
    session.close();
    for (Book b:bookList
         ) {
        System.out.println(b);
    }
    return bookList;
}

public List getBookListByS(String book_name, String user_name) {
    List books = new ArrayList<>();
    Map map=new HashMap<>();
    map.put("book_name",book_name);
    map.put("user_name",user_name);
    books = session.getMapper(BookMapper.class).getBookListByS(map);
    MapperConfig.closeSession(session);
    return books;
}

4、servleメソッドはログインしたservleメソッドと同じで、serviceデータを呼び出すだけで5、jspページはcラベルでデータを取得すると同時にjspで構成する必要があることを示している.

    
        
${book.book_id} ${book.book_name} ${book.price} ${book.store} ${book.des} ${book.book_type}

6、xmlファイルの構成