-
避免重復秒殺,(訂單表使用商品ID和用戶手機號碼作為聯合主鍵;插入訂單表數據時使用ignore,在主鍵沖突的時候,返回0,即不插入數據。)
查看全部 -
3.?????? 配置sqlSessionFactory對象 會話工廠
<!--3.配置sqlSessionFactory對象-->
??? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
?????? ?<!--注入數據庫連接池-->
??????? <property name="dataSource" value="dataSource"/>
??????? <!--配置mybatis全局配置文件:mybatis-config.xml-->
??????? <property name="configLocation" value="classpath:mybatis-config.xml"/>
??????? <!--掃描entity包,使用別名-->
??????? <property name="typeAliasesPackage" value="org.seckill.entity"/>
??????? <!--掃描sql配置文件:mapper需要的xml文件-->
??????? <property name="mapperLocations" value="classpath:mapper/*.xml"/>
??? </bean>
查看全部 -
2. ?配置數據庫連接池
<!--2.數據庫連接池-->
??? <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
??????? <!--配置連接池基本屬性-->
??????? <property name="driverClass" value="${driver}"/>
??????? <property name="jdbcUrl" value="${url}"/>
??????? <property name="user" value="${username}"/>
??????? <property name="password" value="${password}"/>
??????? <!--c3p0連接池的私有屬性-->
??????? <property name="maxPoolSize" value="30"/>
??????? <property name="minPoolSize" value="10"/>
??????? <!--關閉鏈接后不自動commit-->
??????? <property name="autoCommitOnClose"value="false"/>
??????? <!--獲取鏈接超時時間-->
??????? <property name="checkoutTimeout" value="1000"/>
??????? <!--當獲取連接失敗時重試次數-->
??????? <property name="acquireRetryAttempts" value="2"/>
??? </bean>
查看全部 -
1. ?配置數據庫相關參數
查看全部 -
1)? 更少的編碼:只寫接口,不寫實現。接口能說明參數,行為,結果集。
2)? 更少的配置:
別名(原來是包名+類名 ?mybatis只需要寫原生的類名)
自動掃描配置文件:XML文件
Mapper自動實現DAO接口,并自動注入spring容器
3)? 足夠的靈活性:自己定制SQL,自由傳參,結果集自動賦值
XML提供SQL?? + ??DAO接口提供Mapper
查看全部 -
通過MyBatis實現實現SuccessKilledDao接口
MyBatis核心的點在于可以自由控制SQL
?
后續MyBatis如何整合SPRING以及如何編寫單元測試
查看全部 -
【mapper-SeckillDao.xml】
Resource –> new -> directory創建一個目錄放置mybatis的sql的映射”mapper”
在mapper下創建映射關系。Mapper->new->file創建SeckillDao.xml(命名規范:DAO的名字.xml).? 為DAO方法的接口提供sql語句
實現SeckillDao.xml
reduceNumber減庫存
queryById根據id查詢秒殺對象
queryALL根據偏移量查詢秒殺商品列表
查看全部 -
【mybatis-config.xml】
Resource –> new -> file 創建一個mybatis全局的配置文件”mybatis-config.xml”
從官方文檔找到mybatis的全局配置 XML的一個標簽約束
<configuration>?
<settings>
查看全部 -
[SuccessKilledDao]
InsertSuccssKilled 插入購買明細,可過濾重復
queryByIdWithSeckill根據id查詢SuccessKilled并攜帶秒殺產品對象實體
查看全部 -
實現DAO的接口
[SeckillDao]
reduceNumber減庫存
queryById根據id查詢秒殺對象
queryALL根據偏移量查詢秒殺商品列表
查看全部 -
mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp
-DgroupId=org.seckill -DartifactId=seckill:標注項目的坐標
org.seckill:項目名
-DarchetypeArtifactId=maven-archetype-webapp:使用webapp原型去創建項目
使用以上命令項目創建失敗
mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp
使用以上命令項目創建成功
查看全部 -
mvn archetype:generate -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp
創建成功
查看全部 -
myBatis整合Spring目標
查看全部 -
初始的自增id設為1000
AUTO_INCREMENT=1000
查看全部 -
MySql有多重存儲引擎供我們使用,但是可以支持事務的存儲引擎只有InnoDB
查看全部
舉報