MyBatis-図書管理システムへの登録および一部照会操作(管理者部分)
ログインインタフェース(ここではパスワードチェック部分を省略)およびすべての図書情報の表示
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に入れる
3、dao層にインタフェースとxmlファイル(user)を確立する
Mapperインタフェース
対応するインタフェースのxml、sql文(動的sql文を含む)を記述する
4、エンティティークラスを作成する
5、サービス層–servlet層とdao層を接続する
6、servelt層はフロントページとバックグラウンドデータを接続し、serviceを通じてdao層の方法を呼び出す.
ここで使用するservletは親HttpServiceletを継承し、親メソッドを呼び出します.
7、jsp層–フロント文
8.webを構成する.xmlファイル
二図書検索の曖昧な検索構想:
検索キーワードが入力されていないときにすべての図書リスト1を表示するには、bookエンティティクラス、mybatis-cfgが必要である.xmlでresource//book対応mapper–BookMapperを構成する
2、book対応のxmlファイルを配置してすべての図書情報を検索する
クエリー条件に基づいて動的sql文を記述する
3、BookServiceインタフェース定義方法、BookServiceImpl実現クラス方法実現bookService
BookServiceImpl
4、servleメソッドはログインしたservleメソッドと同じで、serviceデータを呼び出すだけで5、jspページはcラベルでデータを取得すると同時にjspで構成する必要があることを示している.
6、xmlファイルの構成
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ファイルの構成