-一、需求分析
-二、概要設計
-三、詳細設計
1.添加車輛
2.實作租車業務
3.實作還車業務
資料層代碼
-一、需求分析與資料表設計
需求圖:
<a href="https://s1.51cto.com/wyfs02/M00/07/34/wKiom1nEyPCiv6hyAAJH0lmmZA0317.png" target="_blank"></a>
發現類:
01.moto類(汽車父類):
01.1:bus類(客車類)
01.2:car類(轎車類)
01.3:truck類(卡車類)
02.mototype類(汽車類型類)
03.使用者類:軟體系統的使用者,登入該系統 管理的 人,比如:管理者、業務經理等。
04.客戶類:租車的人。
05.公司類:用于處理租車換車業務流程的人。
資料庫設計:
<a href="https://s1.51cto.com/wyfs02/M01/07/35/wKiom1nEzmKQO6VEAAI0x96Nd14181.png" target="_blank"></a>
實作各車的資訊錄入
<a href="https://s5.51cto.com/wyfs02/M02/A5/E6/wKioL1nE01ex5_gkAAB_b7VOqWo940.png" target="_blank"></a>
一個問題:卡車跟大巴和轎車錄入是不一樣的,是以在業務層需要判斷是什麼車型,但這樣代碼比較臃腫,不利于擴充,不是面向對象程式設計。
解決:采用面向對象的特點(繼承和多态),在moto類建立錄入車資訊的方法,這樣轎車客車大巴繼承moto類就可以有自己的錄入車資訊的方法。
代碼示範:
moto類:
<code>public</code> <code>abstract</code> <code>class</code> <code>Moto {</code>
<code> </code><code>private</code> <code>String mno; </code><code>//車牌号</code>
<code> </code><code>private</code> <code>int</code> <code>seatCount; </code>
<code> </code><code>private</code> <code>MotoType mtype; </code>
<code> </code>
<code> </code><code>//這裡省略get\set方法</code>
<code> </code><code>public</code> <code>Moto(MotoType mtype,String mno,</code><code>int</code> <code>seatCount){</code>
<code> </code><code>this</code><code>.mno = mno;</code>
<code> </code><code>this</code><code>.seatCount = seatCount;</code>
<code> </code><code>this</code><code>.mtype = mtype;</code>
<code> </code><code>}</code>
<code> </code><code>/**</code>
<code> </code><code>* 把目前對象存儲到資料庫中</code>
<code> </code><code>* @throws Exception</code>
<code> </code><code>*/</code>
<code> </code><code>public</code> <code>void</code> <code>saveDB() </code><code>throws</code> <code>Exception{</code>
<code> </code><code>CompanyDao dao = </code><code>new</code> <code>CompanyDao();</code>
<code> </code><code>try</code> <code>{</code>
<code> </code><code>dao.addMoto(</code><code>this</code><code>);</code>
<code> </code><code>} </code><code>catch</code> <code>(Exception e) {</code>
<code> </code><code>e.printStackTrace();</code>
<code> </code><code>}</code><code>finally</code><code>{</code>
<code> </code><code>dao.closeConnection();</code>
<code> </code><code>}</code>
<code>}</code>
car類:可以直接使用moto類中的方法
<code>public</code> <code>class</code> <code>Car </code><code>extends</code> <code>Moto{</code>
<code> </code><code>public</code> <code>Car(MotoType mtype,String mno) {</code>
<code> </code><code>super</code><code>(mtype,mno, </code><code>5</code><code>);</code>
truck類:重寫了moto類的saveDB()方法
<code>public</code> <code>class</code> <code>Truck </code><code>extends</code> <code>Moto{</code>
<code> </code><code>private</code> <code>int</code> <code>dun;</code>
<code> </code><code>private</code> <code>double</code> <code>priceEachDun; </code><code>//每噸每天的單價</code>
<code> </code><code>public</code> <code>int</code> <code>getDun() {</code>
<code> </code><code>return</code> <code>dun;</code>
<code> </code><code>public</code> <code>double</code> <code>getPriceEachDun() {</code>
<code> </code><code>return</code> <code>priceEachDun;</code>
<code> </code><code>public</code> <code>void</code> <code>setPriceEachDun(</code><code>double</code> <code>priceEachDun) {</code>
<code> </code><code>this</code><code>.priceEachDun = priceEachDun; </code>
<code> </code><code>public</code> <code>Truck(MotoType mtype, String mno, </code><code>int</code> <code>seatCount,</code><code>int</code> <code>dun) {</code>
<code> </code><code>super</code><code>(mtype, mno, seatCount);</code>
<code> </code><code>this</code><code>.dun = dun; </code>
<code> </code><code>public</code> <code>double</code> <code>getDayMoney() {</code>
<code> </code><code>return</code> <code>priceEachDun*dun;</code>
<code> </code><code>* 把目前對象存儲到資料庫中 ----------重寫</code>
<code> </code><code>@Override</code>
<code> </code><code>dao.beginTransaction();</code>
<code> </code><code>TruckEntity truckEntity = </code><code>new</code> <code>TruckEntity();</code>
<code> </code><code>truckEntity.setMno(</code><code>this</code><code>.getMno());</code>
<code> </code><code>truckEntity.setDun(dun);</code>
<code> </code><code>truckEntity.setPriceEachDun(priceEachDun);</code>
<code> </code><code>dao.addTruck(truckEntity);</code>
<code> </code><code>dao.commit();</code>
<code> </code><code>dao.rollback();</code>
<code> </code><code>throw</code> <code>e;</code>
在業務邏輯層方法就很簡單了:
<code>private</code> <code>List<Moto> motos;</code>
<code>/**</code>
<code>* 添加汽車</code>
<code>* @param moto</code>
<code>* @throws Exception</code>
<code>*/</code>
<code>public</code> <code>void</code> <code>addMoto(Moto moto) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>if</code><code>(moto != </code><code>null</code> <code>){ </code>
<code> </code><code>moto.saveDB(); </code><code>//OO多态</code>
<code> </code><code>motos.add(moto);</code>
<code> </code><code>}</code><code>else</code><code>{</code>
<code> </code><code>throw</code> <code>new</code> <code>Exception(</code><code>"入參moto錯誤"</code><code>);</code>
<code> </code><code>} </code>
2.實作租車業務
圖解:
<a href="https://s2.51cto.com/wyfs02/M01/A5/E6/wKioL1nE1NrReZ66AAFU_AKkhqM429.png" target="_blank"></a>
注意:由于整個租車過程包含多個表的修改,比如加入兩個訂單在差不多時間操作同一輛車,肯定會有一個訂單有問題,這是就需要保證事務的一緻性和完整性。
在業務邏輯層的代碼就可以:
<code>public</code> <code>class</code> <code>RentCompany {</code>
<code> </code><code>private</code> <code>String name; </code>
<code> </code><code>private</code> <code>List<Moto> motos; </code><code>//待租賃的汽車</code>
<code> </code><code>public</code> <code>String getName() {</code>
<code> </code><code>return</code> <code>name;</code>
<code> </code><code>} </code>
<code> </code><code>public</code> <code>List<Moto> getMotos() {</code>
<code> </code><code>return</code> <code>motos;</code>
<code> </code><code>public</code> <code>RentCompany(String name){</code>
<code> </code>
<code> </code><code>this</code><code>.name = name;</code>
<code> </code><code>motos = </code><code>new</code> <code>ArrayList<Moto>(</code><code>50</code><code>);</code>
<code> </code><code>* 汽車租賃</code>
<code> </code><code>* @param motos</code>
<code> </code><code>* @param client</code>
<code> </code><code>* @param rentinfo</code>
<code> </code><code>* @return 租賃成功,傳回訂單号</code>
<code> </code><code>public</code> <code>String rent(List<Moto> motos,TClient client,TRentInfo rentinfo) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String rentno = </code><code>null</code><code>;</code>
<code> </code><code>if</code><code>(motos != </code><code>null</code> <code>&& client != </code><code>null</code> <code>&& rentinfo!= </code><code>null</code><code>){</code>
<code> </code><code>CompanyDao dao = </code><code>new</code> <code>CompanyDao();</code>
<code> </code><code>try</code> <code>{</code>
<code> </code><code>dao.beginTransaction(); </code><code>//開啟事務</code>
<code> </code><code>//添加客戶資料 </code>
<code> </code><code>dao.addTClient(client);</code>
<code> </code><code>//添加汽車租賃資訊</code>
<code> </code><code>rentno = dao.addRentInfo(rentinfo);</code>
<code> </code><code>//添加租賃明細</code>
<code> </code><code>for</code><code>(Moto moto : motos){</code>
<code> </code><code>TRentDetail rentDetail = getTRentDetail(rentno,moto);</code>
<code> </code><code>dao.addRentDetail(rentDetail);</code>
<code> </code><code>} </code>
<code> </code><code>dao.commit(); </code><code>//送出事務 </code>
<code> </code><code>} </code><code>catch</code> <code>(Exception e) {</code>
<code> </code><code>dao.rollback(); </code><code>//復原事務</code>
<code> </code><code>rentno = </code><code>null</code><code>;</code>
<code> </code><code>throw</code> <code>e;</code>
<code> </code><code>}</code><code>finally</code><code>{</code>
<code> </code><code>dao.closeConnection();</code>
<code> </code><code>} </code>
<code> </code><code>}</code><code>else</code><code>{ </code>
<code> </code><code>throw</code> <code>new</code> <code>Exception(</code><code>"入參錯誤,請檢查"</code><code>);</code>
<code> </code><code>} </code>
<code> </code><code>return</code> <code>rentno;</code>
<code> </code><code>private</code> <code>TRentDetail getTRentDetail(String rentno,Moto moto){</code>
<code> </code><code>TRentDetail detail = </code><code>new</code> <code>TRentDetail();</code>
<code> </code><code>detail.setMno(moto.getMno());</code>
<code> </code><code>detail.setRentno(rentno);</code>
<code> </code><code>detail.setDaymoney(moto.getDayMoney());</code>
<code> </code><code>return</code> <code>detail;</code>
3.實作還車業務
業務流程:計算租金總額、添加還車資訊、給訂單寫入租金總額、設定車輛資訊
<code>* 還車,計算租賃的總價</code>
<code>* @return</code>
<code>public</code> <code>double</code> <code>rentBack(String rentno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>double</code> <code>allMoney = </code><code>0</code><code>;</code>
<code> </code><code>if</code><code>(rentno != </code><code>null</code><code>){</code>
<code> </code><code>dao.beginTransaction();</code>
<code> </code><code>//計算租金總額</code>
<code> </code><code>allMoney = dao.countAllPayMoney(rentno);</code>
<code> </code><code>//添加還車資訊</code>
<code> </code><code>dao.addRentBackInfo(rentno);</code>
<code> </code><code>//給訂單寫入租金總額</code>
<code> </code><code>dao.writeAllPayMoney(rentno, allMoney);</code>
<code> </code><code>//設定車輛的狀态</code>
<code> </code><code>dao.setRentBackMotoState(rentno);</code>
<code> </code><code>dao.commit(); </code>
<code> </code><code>} </code>
<code> </code><code>throw</code> <code>new</code> <code>Exception(</code><code>"入參錯誤"</code><code>);</code>
<code> </code><code>return</code> <code>allMoney; </code>
對應dao層代碼:
basedao
<code>public</code> <code>class</code> <code>BaseDao {</code>
<code> </code><code>protected</code> <code>Connection conn; </code>
<code> </code><code>public</code> <code>Connection getConn() {</code>
<code> </code><code>return</code> <code>conn;</code>
<code> </code><code>public</code> <code>void</code> <code>setConn(Connection conn) {</code>
<code> </code><code>this</code><code>.conn = conn;</code>
<code> </code><code>public</code> <code>void</code> <code>openConnection() </code><code>throws</code> <code>ClassNotFoundException,SQLException{</code>
<code> </code><code>//通過反射技術,對oracel的驅動對象進行類的加載 (其實是在做類型檢查)</code>
<code> </code><code>//在類的加載時,會調用OracleDriver中的靜态代碼塊和靜态變量初始化</code>
<code> </code><code>if</code><code>(</code><code>this</code><code>.conn == </code><code>null</code> <code>|| </code><code>this</code><code>.conn.isClosed()){</code>
<code> </code><code>Class.forName(</code><code>"oracle.jdbc.driver.OracleDriver"</code><code>); </code>
<code> </code><code>conn = DriverManager.getConnection(</code><code>"jdbc:oracle:thin:@10.0.19.252:1521:orcl"</code><code>,</code><code>"testdb"</code><code>,</code><code>"1111"</code><code>);</code>
<code> </code><code>} </code>
<code> </code><code>public</code> <code>void</code> <code>beginTransaction() </code><code>throws</code> <code>Exception{</code>
<code> </code><code>this</code><code>.openConnection();</code>
<code> </code><code>if</code><code>(</code><code>this</code><code>.conn != </code><code>null</code><code>){ </code>
<code> </code><code>this</code><code>.conn.setAutoCommit(</code><code>false</code><code>); </code><code>//手動送出模式</code>
<code> </code><code>public</code> <code>void</code> <code>commit() </code><code>throws</code> <code>Exception{</code>
<code> </code><code>if</code><code>(</code><code>this</code><code>.conn != </code><code>null</code><code>){</code>
<code> </code><code>this</code><code>.conn.commit();</code>
<code> </code><code>public</code> <code>void</code> <code>rollback() </code><code>throws</code> <code>Exception{</code>
<code> </code><code>this</code><code>.conn.rollback();</code>
<code> </code><code>public</code> <code>void</code> <code>closeConnection() {</code>
<code> </code><code>this</code><code>.conn.close(); </code>
<code> </code><code>e.printStackTrace();</code>
<code> </code><code>}</code>
<code>public</code> <code>class</code> <code>CompanyDao </code><code>extends</code> <code>BaseDao{</code>
<code> </code><code>* 根據訂單号,計算需要的租金總額</code>
<code> </code><code>* @param rentno</code>
<code> </code><code>* @return</code>
<code> </code><code>public</code> <code>double</code> <code>countAllPayMoney(String rentno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>double</code> <code>allMoney = </code><code>0</code><code>;</code>
<code> </code><code>double</code> <code>dayMoneys = </code><code>0</code><code>;</code>
<code> </code><code>String sql = </code><code>" select sum(daymoney) dayMoneys from trentinfo r,trentdetail d where r.rentno = d.rentno"</code>
<code> </code><code>+ </code><code>" and r.rentno=?"</code><code>;</code>
<code> </code><code>PreparedStatement ps = </code><code>this</code><code>.conn.prepareStatement(sql);</code>
<code> </code><code>ps.setString(</code><code>1</code><code>,rentno);</code>
<code> </code><code>ResultSet rs = ps.executeQuery();</code>
<code> </code><code>while</code><code>(rs.next()){</code>
<code> </code><code>dayMoneys = rs.getDouble(</code><code>"dayMoneys"</code><code>);</code>
<code> </code><code>RentinfoDto rentinfo = getRentInfo(rentno);</code>
<code> </code><code>int</code> <code>days = (</code><code>int</code><code>)((</code><code>new</code> <code>Date()).getTime() - rentinfo.getRentBeginDate().getTime())/(</code><code>24</code><code>*</code><code>3600</code><code>*</code><code>1000</code><code>) + </code><code>1</code><code>;</code>
<code> </code>
<code> </code><code>allMoney = dayMoneys*days;</code>
<code> </code><code>return</code> <code>allMoney;</code>
<code> </code><code>* 根據訂單編号,傳回訂單資訊</code>
<code> </code><code>public</code> <code>RentinfoDto getRentInfo(String rentno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>RentinfoDto rentinfo = </code><code>null</code><code>;</code>
<code> </code><code>String sql = </code><code>" select r.rentno,r.clno,r.eno,r.operator,r.rentbengindate,r.diyamoney,r.payallmoney, b.backdate "</code> <code>+</code>
<code> </code><code>" from trentinfo r left join trentback b on r.rentno = b.rentno and r.rentno=?"</code><code>;</code>
<code> </code><code>rentinfo = </code><code>new</code> <code>RentinfoDto();</code>
<code> </code><code>rentinfo.setBackDate(rs.getDate(</code><code>"backdate"</code><code>));</code>
<code> </code><code>rentinfo.setClno(rs.getString(</code><code>"clno"</code><code>));</code>
<code> </code><code>rentinfo.setDiyaMoney(rs.getDouble(</code><code>"diyamoney"</code><code>));</code>
<code> </code><code>rentinfo.setEno(rs.getString(</code><code>"eno"</code><code>));</code>
<code> </code><code>rentinfo.setOperator(rs.getString(</code><code>"operator"</code><code>));</code>
<code> </code><code>rentinfo.setPayAllMoney(rs.getDouble(</code><code>"payallmoney"</code><code>));</code>
<code> </code><code>rentinfo.setRentBeginDate(rs.getDate(</code><code>"rentbengindate"</code><code>));</code>
<code> </code><code>rentinfo.setRentno(rs.getString(</code><code>"rentno"</code><code>));</code>
<code> </code><code>return</code> <code>rentinfo;</code>
<code> </code><code>* 還車時,給訂單寫入租金總額</code>
<code> </code><code>* @param allMoney</code>
<code> </code><code>public</code> <code>void</code> <code>writeAllPayMoney(String rentno,</code><code>double</code> <code>allMoney) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"update trentinfo set payallmoney=? where rentno=?"</code><code>;</code>
<code> </code><code>ps.setDouble(</code><code>1</code><code>, allMoney);</code>
<code> </code><code>ps.setString(</code><code>2</code><code>, rentno);</code>
<code> </code><code>ps.executeUpdate();</code>
<code> </code><code>ps.close();</code>
<code> </code><code>* 添加還車資訊</code>
<code> </code><code>public</code> <code>void</code> <code>addRentBackInfo(String rentno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"insert into trentback values(?,?)"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, rentno);</code>
<code> </code><code>ps.setTimestamp(</code><code>2</code><code>,</code><code>new</code> <code>java.sql.Timestamp(</code><code>new</code> <code>Date().getTime()));</code>
<code> </code><code>* 還車時,設定所有訂單中的車輛狀态為'01'</code>
<code> </code><code>public</code> <code>void</code> <code>setRentBackMotoState(String rentno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"select d.mno from trentinfo r,trentdetail d where r.rentno = d.rentno and r.rentno=?"</code><code>;</code>
<code> </code><code>String mno = rs.getString(</code><code>"mno"</code><code>);</code>
<code> </code><code>updateRentBackMotoState(mno);</code>
<code> </code><code>rs.close();</code>
<code> </code><code>ps.close(); </code>
<code> </code><code>public</code> <code>void</code> <code>updateRentBackMotoState(String mno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"update tmoto set state='01' where mno=?"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, mno);</code>
<code> </code><code>ps.executeUpdate(); </code>
<code> </code><code>* 添加客戶資料</code>
<code> </code><code>public</code> <code>void</code> <code>addTClient(TClient client) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>//查詢客戶是否存在</code>
<code> </code><code>boolean</code> <code>bRet = isHaveClient(client.getTel());</code>
<code> </code><code>if</code><code>(!bRet){</code>
<code> </code><code>//添加客戶資料 </code>
<code> </code><code>String sql = </code><code>"insert into tclient values(?,?,?,?,?)"</code><code>;</code>
<code> </code><code>this</code><code>.openConnection();</code>
<code> </code><code>PreparedStatement ps = </code><code>this</code><code>.conn.prepareStatement(sql);</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, client.getTel());</code>
<code> </code><code>ps.setString(</code><code>2</code><code>, client.getCname());</code>
<code> </code><code>ps.setString(</code><code>3</code><code>, client.getCid());</code>
<code> </code><code>ps.setString(</code><code>4</code><code>, client.getTel());</code>
<code> </code><code>ps.setString(</code><code>5</code><code>, client.getAddress());</code>
<code> </code><code>ps.executeUpdate();</code>
<code> </code><code>ps.close();</code>
<code> </code><code>* 通過手機号,查詢指定使用者是否存在</code>
<code> </code><code>* @param tel</code>
<code> </code><code>private</code> <code>boolean</code> <code>isHaveClient(String tel) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>boolean</code> <code>bRet = </code><code>false</code><code>;</code>
<code> </code><code>String sql = </code><code>"select * from tclient where tel=?"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, tel);</code>
<code> </code><code>bRet = </code><code>true</code><code>;</code>
<code> </code><code>return</code> <code>bRet;</code>
<code> </code><code>* @param rentinfo </code>
<code> </code><code>* @return 傳回訂單号</code>
<code> </code><code>public</code> <code>String addRentInfo(TRentInfo rentinfo) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"insert into trentinfo values(?,?,?,?,?,?,?)"</code><code>;</code>
<code> </code><code>SimpleDateFormat sd = </code><code>new</code> <code>SimpleDateFormat(</code><code>"yyyyMMdd"</code><code>);</code>
<code> </code><code>String rentno = </code><code>"rno-"</code> <code>+ sd.format(</code><code>new</code> <code>Date()) + </code><code>"-"</code> <code>+ (</code><code>new</code> <code>Date()).getTime();</code>
<code> </code><code>ps.setString(</code><code>2</code><code>, rentinfo.getClno());</code>
<code> </code><code>ps.setString(</code><code>3</code><code>, rentinfo.getEno());</code>
<code> </code><code>ps.setString(</code><code>4</code><code>, rentinfo.getOperator());</code>
<code> </code><code>ps.setDate(</code><code>5</code><code>, </code><code>new</code> <code>java.sql.Date(rentinfo.getRentBeginDate().getTime()));</code>
<code> </code><code>ps.setDouble(</code><code>6</code><code>, rentinfo.getDiyaMoney());</code>
<code> </code><code>ps.setDouble(</code><code>7</code><code>, rentinfo.getPayAllMoney());</code>
<code> </code><code>* 添加租賃明細</code>
<code> </code><code>* @param rentDetail</code>
<code> </code><code>public</code> <code>void</code> <code>addRentDetail(TRentDetail rentDetail) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>//添加明細</code>
<code> </code><code>String sql = </code><code>"insert into TRentDetail values(seq_rentdetail_id.nextval,?,?,?)"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, rentDetail.getRentno());</code>
<code> </code><code>ps.setString(</code><code>2</code><code>, rentDetail.getMno());</code>
<code> </code><code>ps.setDouble(</code><code>3</code><code>,rentDetail.getDaymoney());</code>
<code> </code><code>ps.close(); </code>
<code> </code><code>//修改汽車狀态值</code>
<code> </code><code>updateMotoStateByRent(rentDetail.getMno());</code>
<code> </code><code>* 修改汽車狀态值,從未出租改為出租中</code>
<code> </code><code>* @param moto</code>
<code> </code><code>private</code> <code>void</code> <code>updateMotoStateByRent(String mno) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"update tmoto set state='02' where mno=? and state='01'"</code><code>;</code>
<code> </code><code>this</code><code>.openConnection();</code>
<code> </code><code>PreparedStatement ps = </code><code>this</code><code>.conn.prepareStatement(sql);</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, mno);</code>
<code> </code><code>int</code> <code>iRet = ps.executeUpdate();</code>
<code> </code><code>if</code><code>(iRet==</code><code>0</code><code>){</code>
<code> </code><code>throw</code> <code>new</code> <code>MotoRentFailException( mno+ </code><code>",該車已被别人租用,請重新選擇"</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>ps.close();</code>
<code> </code><code>* 添加汽車單表資料</code>
<code> </code><code>public</code> <code>void</code> <code>addMoto(Moto moto) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"insert into tmoto values(?,?,?,?)"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>,moto.getMno());</code>
<code> </code><code>ps.setString(</code><code>2</code><code>,moto.getMtype().getTno());</code>
<code> </code><code>ps.setInt(</code><code>3</code><code>, moto.getSeatCount());</code>
<code> </code><code>ps.setString(</code><code>4</code><code>, MotoState.PREPARED_RENT);</code>
<code> </code><code>* 添加卡車單表資料</code>
<code> </code><code>* @param truck</code>
<code> </code><code>public</code> <code>void</code> <code>addTruck(TruckEntity truck) </code><code>throws</code> <code>Exception{</code>
<code> </code><code>String sql = </code><code>"insert into truck values(?,?,?)"</code><code>;</code>
<code> </code><code>ps.setString(</code><code>1</code><code>, truck.getMno());</code>
<code> </code><code>ps.setInt(</code><code>2</code><code>, truck.getDun());</code>
<code> </code><code>ps.setDouble(</code><code>3</code><code>, truck.getPriceEachDun());</code>
版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任
本文轉自 叫我北北 51CTO部落格,原文連結:http://blog.51cto.com/qinbin/1967828