• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 【Mybatis01】實現縮小版銀行轉賬+分頁查詢功能

    一、實現轉賬

    1.1 項目實現圖和結構圖
    在這里插入圖片描述在這里插入圖片描述
    1.1.1 pojo實體類

    public class Account {        //用戶賬戶表
        private int id;
        private String accNo;
        private int password;
        private Double balance;
        private String name;
    
    public class Log {          //轉賬日志表
        private int id;
        private String accIn;
        private String accOut;
        private double money;
    

    !分頁查詢表

        private int pageSize;   //當前頁顯示的數據   
        private int pageNumber;  //當前頁數
        private long total;     //總數量
        private List<?> list;     //當前頁顯示的總數數據
    

    1.2 全局文件mybatis.xml的編寫

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <typeAliases>
            <package name="com.bjsxt.pojo"/>
        </typeAliases>
        <environments default="default">
            <environment id="default">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">  //三種方式此種是數據庫連接池方式
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
                    <property name="username" value="root"/>
                    <property name="password" value="1234"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com\bjsxt\mapper\AccountMapper.xml"/>   //加載轉賬的xml
            <mapper resource="com\bjsxt\mapper\LogMapper.xml"/>         //加載轉賬日志的xml
    </mappers>
    </configuration>
    

    1.3 mapper.xml的編寫(用來進行查詢!!!)
    在這里插入圖片描述

    AccountMapper.xml
    

    1.3.1分析:

    • (確保轉賬用戶的正確性)因為需要確認轉賬用戶的賬號密碼輸入正確,所以需要根據賬號和密碼進行表查詢并且拿出查出來的對象,以作后續的余額更改操作!
    • (確保入帳用戶的正確性)同上述,查表,取出對象!
    • (根據賬號修改余額)根據賬號,修改各自的余額!
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.bjsxt.mapper.AccountMapper">
        <!--根據賬號和密碼查詢賬戶信息-->
        <select id="selByAccnoPwd" resultType="account" parameterType="account">
            select * from account where accno=#{accNo} and password=#{password}
        </select>
        <!--根據賬號和姓名查詢賬戶信息-->
        <select id="selByAccnoName"  resultType="account" parameterType="account">
            select * from account where accno=#{accNo} and name=#{name}
        </select>
        <!--根據賬號修改余額-->
        <update id="updBalanceByAccno" parameterType="account">
            update account set  balance=balance+#{balance} where accno=#{accNo}
        </update>
    </mapper>
    

    1.3.2寫完mapper然后寫service層!

    -分析
    
    • 轉賬可能出現很多種情況,所以需要一一考慮,但是可能在事先考慮的不是很周全,所以可以在編碼過程中思考問題。
    int transfer(Account accIn,Account accOut) throws IOException;
    

    impl層

    • 加載流
    • InputStream is=Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); SqlSession session=factory.openSession();
    • 判斷賬號密碼是否一致
    • Account accOutSelect=session.selectOne("com.bjsxt.mapper.AccountMapper.selByAccnoPwd",accOut); -accSelect為查找出來的對象
    版權聲明:本文為wrf20162305原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/wrf20162305/article/details/88206802

    智能推薦

    mybatis能力提升:完成 轉賬功能,日志記錄功能,分頁查詢

    實體類 Account.java Log.java PageInfo.java LogService.java AccountService.java LogServiceImpl.java AccountServiceImpl.java AccoutController.java LogController.java AccountMapper.xml LogMapper.xml log4j.p...

    用Java程序模擬銀行ATM機,實現包括存款、取款、查詢、轉賬功能的簡單應用

    (1)想象現實世界中的相關操作沙及哪些實體呢?一個是儲戶,一個是ATM機。因 此根據面向對象中的抽象原則,可將其抽象為兩個類:代表儲戶的賬戶信息類,代表銀行 ATM機的ATM類。外加一個主類(負責實例化其他類的對象)。 (2)Account類記錄儲戶的卡號,姓名、密碼和賬戶余額等信息,并提供get方法獲取每 個屬性的值,對賬戶余額屬性提供sub_Balance()方法和add_Balance()方...

    Spring+ajax+Servlet實現銀行轉賬功能

    分析需求:   1:需要用ajax驗證操作人的賬戶是否正確,余額是否充足,轉賬賬戶是否正確   2:因為ajax的內容都是查詢,所以我們可以把這些功能寫為一個功能。   3:需要添加事務,增加金額和減少金額   步驟: 首先搭建環境 需要整合spring-mybatis,所以在這里需要配置applicationContext-mybatis,然后需要使用se...

    基于mysql數據庫銀行轉賬功能實現

    文章目錄 項目描述 研究思路 構造項目框架 添加細節信息 項目描述 運用mysql數據庫實現銀行賬戶轉賬功能。 研究思路 1 創建數據庫和數據表以及數據表中賬戶號碼和余額等信息。 2 python連接數據庫 3 將銀行卡號作為key值,判斷轉入和轉出賬戶是否都存在。 4 判斷轉出賬戶待轉出金額是否足夠。 5 轉出賬戶余額減掉轉出金額,轉入賬戶余額加上轉入金額。 在數據庫中創建數據表并添加數據。 構...

    MyBatis學習-實現簡易的轉賬功能

    一、轉賬功能需求分析            轉賬簡易頁面 轉賬方需提供帳號及其密碼,輸入相應的金額,還需提供收款方的賬號及其姓名。 二、數據庫設計 根據以上的簡單需求可分析出,只需要一張表(Account)就可以解決問題,其中包含帳號、密碼、賬戶余額和姓名。 示例數據: 三、程序編寫  &...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡