Spring框架
ssm:
IOC/DI 控制反轉/依賴注入
IOC是思想模型
DI是ioc的實現方式
ioc: @controller @Repository,@Service,@Component,RestController
對象由框架維護管理
DI
@Autowired @Value @Resource @Qualifier
對象哪用哪裏注入
創建工程
正常創建quickstart即可,
依賴的配置
SMM框架的依賴,只需要一個spring-context,會根據依賴的傳遞性,將beans,aop,core等傳遞過來
mybatis框架
配置內容
依賴jar包,導入
配置mybatis持久層框架
dataSource
sqlSession
整合spring中
使用過程
datasource準備連接池(c3p0/druid)
url jdbc:mysql:///easymall
driver com.mysql.jdbc.Driver
username root
password root
sqlSession
依賴注入datasource
讀取mybatis獨立配置文件
掃描mapper.xml映射文件(resultType="a.b.domain.User")
別名包 typeAliasesPackage=a.b.domain
spring開啓MapperScan掃描接口類
依賴實現
○ 連接池數據源(druid)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.14</version>
</dependency>
○ spring-jdbc(提供的DataSource接口)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
○ mysql連接
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
○ mybatis的配置
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!-- spring mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
2.2配置spring.xml整合持久層
○ datasource的bean標籤
<!-- 持久層數據源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<!-- 4個屬性 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///easymall"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
○ sqlSessionFactory的bean標籤
<!-- sqlSession -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 數據源注入 -->
<property name="dataSource" ref="dataSource"/>
<!-- 掃描mybatis的獨立配置文件 關閉二級緩存,駝峯命名 -->
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
<!-- 映射文件掃描 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<!-- 別名包 -->
<property name="typeAliasesPackage" value="a.b.domain"></property>
</bean>
○ 掃描mapper接口類包名
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 掃描的接口包 a.b.mapper -->
<property name="basePackage" value="a.b.mapper"/>
</bean>
以上的內容實現一個持久層訪問數據庫的數據的邏輯