【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為查找出來的對象
智能推薦
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)就可以解決問題,其中包含帳號、密碼、賬戶余額和姓名。 示例數據: 三、程序編寫 &...
猜你喜歡
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壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...