spring֮ΪʲôҪʹÓÃÊÂÎñ£¿£¨Ò»£©
ÎÊÌâÃèÊö£ºÏÖÔÚÎÒÃÇÓÐÒ»¸öÊý¾Ý¿â£ºspring ÈýÕÅ±í£ºaccount¡¢book¡¢book_stock account´æ´¢×ÅÓû§ÒÔ¼°ÕË»§Óà¶î¡£book´æ´¢×ÅÊéºÅ¡¢Ãû×ÖºÍ ¹ºÂòÒ»±¾ËùÐè½ð¶î¡£book_stock´æ´¢×ÅÊéºÅÒÔ¼°¶ÔÓ¦µÄ¿â´æ¡£ ÏÖÔÚÎÒÃÇÓÐÕâôһ¸öÐèÇó£ºÓû§ÂòÒ»±¾Ê飬ÏÈÈÃÊéµÄ¿â´æ¼õÒ»£¬È»ºóÔÚÈÃÓû§Óà¶î¼õÈ¥ÏàÓ¦µÄ½ð¶î¡£ÎÒÃÇÀ´¿´ÈçºÎ´¦Àí¡£ н¨Ò»¸öJava project£¬ÔÚÏîÄ¿ÏÂн¨Ò»¸ölibÎļþ¼Ð£¬ÔÚÎļþ¼ÐÖмÓÈëÒÔϰü£º Ñ¡ÖÐÕâЩ°ü£¬µã»÷Êó±êÓÒ¼ü£¬Ñ¡Ôñbuild path£¬Ñ¡Ôñadd to build path¡£ È»ºó½¨Á¢ÒÔϵÄĿ¼½á¹¹£º Ò»¡¢ÅäÖÃÁ¬½ÓÊý¾Ý¿â db.properties jdbc.user=root jdbc.password=123456 jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc:mysql:///spring jdbc.initPoolSize=5 jdbc.maxPoolSize=10 ÔÚapplicationContex.xmlÖÐ <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- µ¼Èë×ÊÔ´Îļþ --> context:property-placeholder location="classpath:db.properties"/> ÅäÖà C3P0 Êý¾ÝÔ´ bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> property name="user" value="${jdbc.user}"></property="password"="${jdbc.password}"="jdbcUrl"="${jdbc.jdbcUrl}"="driverClass"="${jdbc.driverClass}"> ="initialPoolSize"="${jdbc.initPoolSize}"="maxPoolSize"="${jdbc.maxPoolSize}"> </bean> beans> ¶þ¡¢ÀûÓûùÓÚ×¢½âµÄ·½Ê½ÅäÖÃbean ÏòapplicationContext.xmlÖмÓÈë context:component-scan base-package="com.gong.spring"context:component-scan> Èý¡¢ÅäÖÃJdbcTemplate£¬²¢ÀûÓÃJdbcTemplate²Ù×÷Êý¾Ý¿â ÏòapplicationContext.xmlÖмÓÈë ÅäÖà Spirng µÄ JdbcTemplate ="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" ref="dataSource"> BookShopDao.java package com.gong.spring.tx; public interface BookShopDao { ¸ù¾ÝÊéºÅ»ñÈ¡ÊéµÄµ¥¼Û int findBookPriceByIsbn(String isbn); ¸üÐÂÊéµÄ¿â´æ£¬Ê¹ÊéºÅ¶ÔÓ¦µÄ¿â´æ-1 void updateBookStock(String isbn); ¸üÐÂÕË»§Óà¶î£ºÊ¹usernameµÄbalance-price void updateUserAccount(String username, price); } BookShopDaoImpl.java import org.springframework.beans.factory.annotation.Autowired; org.springframework.jdbc.core.JdbcTemplate; org.springframework.stereotype.Repository; @Repository("bookShopDao") class BookShopDaoImpl implements BookShopDao { @Autowired private JdbcTemplate jdbcTemplate; @Override findBookPriceByIsbn(String isbn) { String sql = "SELECT price FROM book WHERE isbn = ?"; return jdbcTemplate.queryForObject(sql,Integer.class,isbn); } @Override updateBookStock(String isbn) { String sql2 = "SELECT stock FROM book_stock WHERE isbn = ?"int stock = jdbcTemplate.queryForObject(sql2,isbn); ¼ì²éÊéµÄ¿â´æÊÇ·ñ×ã¹»£¬Èç¹û²»¹»£¬¾ÍÅ׳öÒì³£ if(stock == 0){ throw new BookStockException("¿â´æ²»×ã!"); } String sql = "UPDATE book_stock SET stock = stock -1 WHERE isbn = ?"; jdbcTemplate.update(sql,1)"> price) { String sql2 = "SELECT balance FROM account WHERE username = ?"int balance = jdbcTemplate.queryForObject(sql2,username); if(balance < price){ new UserAccountException("Óà¶î²»×ã!"); } String sql = "UPDATE account SET balance = balance - ? WHERE username = ?"×Ô¼º¶¨Òå¸ÃÅ׳öµÄÒì³£¡£ |
- ÓÐûÓÐÒ»ÖÖÓÐЧµÄ·½·¨À´¹²Ïígolang°üÖ®¼äµÄ½á¹¹£¿
- perl ¨C ´Ó×Ö·û´®ÖÐÌáÈ¡¸ñʽ²»Ò»ÖµÄÈÕÆÚ(ÈÕÆÚ½âÎö,NLP)
- PHP ÔÚ Laravel Öж¯Ì¬Òþ²Ø API ×Ö¶Î
- DelphiÖеļ¸ÖÖ²¼¶ûÀàÐÍÏê½â
- ʹÓÃperl ʵÏÖ oracleÊý¾Ý¿âÓû§×Ô¶¯±¸·Ý½Å±¾
- delphi ¨C ÈçºÎÉèÖÿØÖÆÌ¨×ÖÌ壿
- golangÖнӿڲéѯ
- ¹ØÓÚ¡¶Ñ°ÖªÍ¼¡·ºóÆÚ¹¦ÄÜÑݽøÖ®Êý¾Ý·ÖÎö·½Ïò
- ³£¼ûµÄPerlÄÚ´æ/ÒýÓ鶴ģʽ£¿
- LUA ¼ò½é
- ÈçºÎÔÚÄÚ´æÊ¹ÓÃÁ¿½Ï´óµÄPerlÊØ»¤³ÌÐòÖд¦Àí¶à¸öÌ×
- golangʹÓÃÐźÅÁ¿ÈȸüÐÂ
- ¶ÔÓÚеÄgoroutine,Golang´íÎóº¯Êý²ÎÊýÌ«´óÁË
- FP-growthËã·¨ÍÚ¾òƵ·±Ï
- delphi ¨C ÈçºÎÈÃÎҵijÌÐòµÄµÚ¶þ¸öʵÀý½«¿ØÖÆÈ¨´«
- GoÓïÑÔchannelÓëselectÔÀí
- php ¨C Laravel 4ÑéÖ¤
- delphi ¨C ´øÓÐWindows¶¯»¿Ø¼þµÄGIFµ½AVI
- JasperReports Subreport ʵÀý
- ×Ô¼ºËѼ¯±àдµÄDelphi ͨÓú¯Êý