freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于jsp的藥品進銷存管理系統(tǒng)畢業(yè)設計論文-資料下載頁

2024-11-16 16:51本頁面
  

【正文】 128 否 批準文號 MARK_PRICE VARCHAR 10 否 否 市場價格 IHEALTH_PRICE VARCHAR 10 否 否 i健康價格 FAC_NAME VARCHAR 128 否 否 生產廠家 MED_DATE VARCHAR 128 否 否 生產日期 MED_NUM VARCHAR 10 否 否 藥品數(shù)量 27 MED_CLASS VARCHAR 128 否 否 藥品類別 。表結構如表 4,3 所示。 表 信息表 (FACTORYINFO) 列名 數(shù)據(jù)類型 長度 是否允許 為空 是否主鍵 說明 FAC_NAME VARCHAR 128 否 是 廠家名稱 FAC_ADDRESS VARCHAR 256 是 否 廠家地址 CONN_NAME VARCHAR 100 是 否 聯(lián)系人 FAC_TEL VARCHAR 30 是 否 聯(lián)系電話 FAC_EMAIL VARCHAR 128 是 否 聯(lián)系郵箱 4. 訂單信息表主要是記錄了藥品銷售的基本信息,表結構如圖 所示。 表 信息表 (ORDERFORMINFO) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 ORDER_NO VARCHAR 32 否 是 訂單編號 USER_ID VARCHAR 32 否 否 用戶賬號 CONSIGNEE_NAME VARCHAR 100 否 否 收件人 CONSIGNEE_TEL VARCHAR 30 否 否 聯(lián)系電話 CONSIGNEE_ADDRESS VARCHAR 128 否 否 收件地址 MED_NO VARCHAR 32 否 否 藥品編號 MED_NAME VARCHAR 128 否 否 藥品名稱 IHEALTH_PRICE VARCHAR 10 否 否 i健康價格 BUY_NUM VARCHAR 10 否 否 購買數(shù)量 TOTAL_PRICE VARCHAR 10 否 否 總價格 DELIVERY VARCHAR 100 否 否 配送方式 ORDER_STATE VARCHAR 10 否 否 訂單狀態(tài) ,表結構如圖 所示。 28 表 信息表 (STOCKINFO) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 STO_NO VARCHAR 128 否 是 入庫編號 FAC_NAME VARCHAR 128 否 否 廠家名稱 MED_NO VARCHAR 32 否 否 藥品編號 MED_NAME VARCHAR 128 否 否 藥品名稱 OPERATOR_NAME VARCHAR 100 是 否 操作人 FAC_TEL VARCHAR 30 是 否 聯(lián)系電話 STO_NUM VARCHAR 10 否 否 數(shù)量 STO_PRICE VARCHAR 10 否 否 價格 數(shù)據(jù)庫的連接原理 JDBC 采用 JDBC 連接數(shù)據(jù)庫的方式,只需在工程中導入對應數(shù)據(jù)庫的 jar 包,就可以方便的對數(shù)據(jù)庫進行連接,在程序中,用 ()方法來加載驅動程序,在用DriverManager 的 getConnection()方法就可以創(chuàng)建一個數(shù)據(jù)庫連接。程序采用的是DAO 模式來操作數(shù)據(jù)庫, DAO(Data Access Object,數(shù)據(jù)訪問對象 ),是 Java 編程中的一種經典模式,已被廣泛應用,也是 J2EE 架構中持久層框架的基礎知識,基于分層次式的軟件架構來實現(xiàn)對數(shù)據(jù)庫的訪問操作。 DAO 模式的主要思想就是從抽 象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應用程序的程序員不必關心數(shù)據(jù)庫的物理位置,已經是何種數(shù)據(jù)庫,只需使用封裝數(shù)據(jù)庫中表示記錄的數(shù)據(jù)對象即可。其思想如圖 所示: BusinessObject DataAccessObject DataSource DataTransferObject 使用 封裝 創(chuàng)建 /使用 獲取 /修改 29 圖 DAO 模式類圖 圖中 BussinessObject是業(yè)務對象,是使用 DAO模式的客戶端; DataTransferObject數(shù)據(jù)傳輸對象,在應用程序不同層次之間傳輸對象,在一個分布式應用程序中,通??梢蕴岣哒淼男阅?; DataObjectAcces 數(shù)據(jù)輸入 /輸出對象封裝了對數(shù)據(jù)源的一些基本操作; DataSource 指的是數(shù)據(jù)源??梢詮膱D中看出, DAO 模式分離了業(yè)務邏輯和數(shù)據(jù)邏輯,是的編寫的軟件具有良好的層次式體系結構。本系統(tǒng)為了方便數(shù)據(jù)庫的操作,主要使用 DBContent 的對象連接一個數(shù)據(jù)庫(建立一個類 DBHelp),主要 代碼如下: ,連接數(shù)據(jù)庫,并設置數(shù)據(jù)庫登錄名以及密碼。 ()。 Connection conn = (jdbc: root, liang)。 exeSQL 類(返回類型為 boolean)和一個 queryMsg 類(返回類型為ResultSet)來對數(shù)據(jù)庫中的數(shù)據(jù)進 行增刪改查。 PreparedStatement pst = getConnection().prepareStatement(sql)。 int num = ()。 ResultSet rs = ()。 在程序需要連接數(shù)據(jù)庫的地方,只需要生成一個 DBHelp 的對象,就可以對數(shù)據(jù)庫進行連接并操作。 30 用 MyBtis 連接數(shù)據(jù)庫 引入 來設置 name、 (獲取驅動 )、(獲取路徑)、 (設置數(shù)據(jù)庫登陸名)、(設置數(shù)據(jù)庫密碼)。 MyBtis 的三個關鍵的要素是: : 。首先在 中通過配置 properties 屬性里面的 resource 值來飲用外部屬性文件。通過 environments 配置適應多種環(huán)境,有助于應用多種數(shù)據(jù)庫配置,來配置環(huán)境參數(shù)。 通過配置 mappers 中的 package 標簽中的 name 參數(shù)來映射文件查找策略; 心映射文件:通過配置 mapper 標簽中的 namespace 屬性來指定命名空間。通過設置resultMap 結果映射標簽來描述如何從數(shù)據(jù)庫結果集中加載對象。通過設置 insert 標簽、update 標簽、 delete 標簽、 select 標簽來對數(shù)據(jù)庫中的數(shù)據(jù)進行增刪改查的操作。 31 5. 系統(tǒng)功能實現(xiàn) 繼需求分析以及系統(tǒng)設計等階段后,就著手開始系統(tǒng)功能實現(xiàn)階段。將系統(tǒng)從技術層面提升到物理層面上,使用戶能夠直接通過一個直觀的界面操縱數(shù)據(jù)。是之前各個階段的結合。 登陸頁面實現(xiàn) 描述 為了保證各用戶可以分別管理自己的信息,并保證系統(tǒng)以及用戶信息的安全性,在使用該系統(tǒng)之前,需要對用戶身份以及賬戶信息進行驗證。(即驗證用戶的賬號及密碼) 程序運行效果圖如圖 所示: 圖 系統(tǒng)登陸頁面設計 32 實現(xiàn)過程 在登陸頁面輸入賬號和密碼,點擊登陸按鈕,跳轉到登陸的 service 中 ,在該 service中會對用戶名,密碼的正確性進行判斷,驗證通過進入 中。由于 doGet 方法的安全性不如 doPost方法的安全性高,故將這里的 doPost方法寫入 doGet方法。在 doPost方法中寫入我們的主要操作。 ( 1)在登錄頁面中,使用的是 MyBatis 框架,故需要在一開始通過 resource 來加載配置文件和映射文件( ); ( 2)構造 讀取 xml 文件 的方式。 需要 創(chuàng)建 SqlSessionFactory 類的實例(相當于是產生連接池) , 通過調用 SqlSessionFactoryBuilder 類的實例的 build 方法來完成。 正如它名字暗示那樣 ; ( 3) 通過 SqlSessionFactory 來創(chuàng)建一個 SqlSession 實例。 SqlSession 包含了所有執(zhí)行數(shù)據(jù)庫 SQL 語句的方 法 ,然后可以 通過 SqlSession 實例執(zhí)行映射 SQL 語句 ; ( 4)通過 session 中的 getMapper 方法從會話中獲取 mapper,從而得到相應數(shù)據(jù)庫中的 userid 和 password,并對 userid 和 password 的正確性進行驗證;( 5)最后,關閉會話。 關鍵代碼如下: SqlSession session = (true)。 try { UserDao userDao = ()。 User user = new User()。 user = (userid)。 if(user!=null amp。amp。 ().equals(password)){ (true)。 }else{ (false)。 } } finally { ()。 } 33 注冊頁面實現(xiàn) 描述 在用戶沒有 i 健康賬號的時候,如果需要進行購買、查看訂單等操作時,需要注冊一個用戶。其中包括:賬號、密碼、姓名、年齡、聯(lián)系方式、性別等用戶的基本信息。 程序運行效果圖如圖 所示: 34 圖 系統(tǒng)注冊頁面設計 實現(xiàn)過程 在注冊頁面的第一個標簽頁:設置登錄名中,輸入賬號和密碼,點擊下一步按鈕,跳轉到注冊的 service 中,在該 service 中會對用戶名,密碼輸入的正確性進行判斷。驗證通過進入下一個標簽頁:填寫賬戶信息,輸入姓名、性別、年齡、電話、郵箱、所在地區(qū)等,點擊注冊按鈕,跳轉到注冊的 service 中,在該 service 中對用戶的信息進行添加。 ( 1)在注冊頁面中,使用的是 MyBatis 框架,通過 resource 來加載配置文件和映射文件( ); ( 2) 通過調用 SqlSessionFactoryBuilder 類的實例的 build 方法來 構造 讀取 xml 文件 的方式 SqlSessionFactory ( 3) 通過 SqlSessionFactory 創(chuàng)建 SqlSession 實例 來執(zhí)行映射 SQL 語句; ( 4)通過 session 中的 getMapper 方法從會話中獲取 mapper,從而得到相應數(shù)據(jù)庫中的 userid 以及用戶的其他重要信息,并通過 中的條件判斷語句 user==null 來 驗證輸入用戶是否為空,如果不為空則該用戶是否存在,如果不存在則跳轉到 中,獲取各個字段的值、創(chuàng)建新用戶設置各個字段的值、增加該用戶信息到數(shù)據(jù)庫中 ; 35 ( 5)最后,關閉會話。 關鍵代碼如下: String userid = (userid)。 (userid)。 (users)。 信息管理實現(xiàn) 的左邊欄中的無序列表中每個 li列都對應一個 src,通過鼠標點擊觸發(fā)事件,而跳轉到相應的頁面。 用戶信息管理 在后臺管理界面中,在左側欄中選擇用戶信息,進入用戶信息管理界面。上面主要顯示了各個用戶的基本信息(包括賬號、姓名、密碼、性別、年齡、聯(lián)系方式、郵箱、住址等內容)。可以進行用戶信息的增刪改查操作。 程序運行效果圖如圖 所示 圖 用戶信息管理頁面設計 用戶信息錄入 管理員登陸到用戶管理界面后,鼠標右擊選擇添加或者直接選擇添加按鈕 ,均可彈出添加用戶信息窗口,在該窗口中進行用戶信息添加即可。如果信息輸入有誤,則彈出出錯提示。否則,添加成功,并在該頁面中顯示出剛添加用戶的信息。 所示: 36 圖 用戶信息添加頁面設計 3. 實現(xiàn)過程 ( 1)有關 doGet 和 doPost 方法與之前的用戶登錄與注冊頁面基本相同,故再之后的描述中均不再贅述,如需要,可以轉到之前的登錄和注冊描述中查看; ( 2)有關于中文亂碼的解決。通過對 req 和 resp 的 setCharacterEncoding 屬性為UTF8 來解決在代碼及數(shù)據(jù) 庫中出現(xiàn)的中文亂碼問題; ( 3)通過 jdbc 連接到數(shù)據(jù)庫。 創(chuàng)建一個 DBHelp 對象來將錄入的信息插入數(shù)據(jù)庫中。 主要代碼如下: String sql = insert into user values(?,?,?,?,?,?,?,?)。 boolean boo = new DBHelp().exeSQL(sql,userid,username,password,sex,age,tel,,address)。 用戶信息修改 管理員登陸到用戶管理界面后,單擊選中要修改用戶信息的行,鼠標右擊選擇修改,方可彈出修改窗口,在該窗口中進行該用戶信息的修改即可。如果信息輸入有誤,則彈出出錯提示。否則,修改成功,并在該頁面中顯示出剛添加用戶的信息。 37 所示: 圖 用戶信息修改頁面設計 ( 1)先通過 ()方法得到通過 Post 方法提交過來的數(shù)據(jù)。 (
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1