利用maven搭建一個web項目,
項目整合SSM框架,用到的jar包如下:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- 添加Servlet支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> </dependency> <!-- 添加jtl支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 添加Spring支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <!-- 添加日誌支持 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.12</version> </dependency> <!-- 添加mybatis支持 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <!-- jdbc驅動包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.24</version> </dependency> <!-- 添加連接池druid支持 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.16</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency>
DAO層代碼編寫
1、補充目錄
用idea工具新建一個普通的maven web項目,新項目的目錄結構如下,目前是不完整的,需要我們補充完善。

在main目錄下新建java目錄 ,並且轉為sources root,操作:
右鍵目錄–>make directory as –> sources root。

還要在main目錄下新建一個放配置文件的resources文件夾,並轉為resources root。操作:
右鍵文件夾 –> make directory as –> resources root。

如果要做單元測試,則在src下新建test文件夾(和main文件夾同一級),再在test下新建java文件夾,並把java文件夾轉為sources root即可。完成後目錄結構如下:

現在基本的需要用到的文件夾就創建完成了。
2、新建實體類
新建一個test.domain包用於放實體類。新建實體類Book,示例用就簡單點3個字段,此處類的屬性都和數據表的字段是對應一致的。

3、建dao接口
先建一個包,叫test.dao,當然也可以叫mapper,看個人習慣吧。在包里新建BookDao接口。

接口現在只有一個簡單的功能,通過id查找Book實體類。
public Book findById(Integer id);
dao接口完成之後,mybatis是不需要寫實現類的,我們需要在resources下建一個和接口在同一個包路徑的一個包,來放置映射文件,這樣編譯的時候會和接口在同一路徑中。

映射文件BookDao.xml和接口名稱一致。映射文件主要內容:
<mapper namespace="test.dao.BookDao">
<select id="findById" parameterType="int" resultType="book">
select * from book where id = #{id};
</select>
</mapper>
因為類字段和數據庫表字段完全一致,所以這裡返回實體可以使用resultType,否則需要定義resultMap。
映射文件寫完後,按理需要寫mybatis主配置文件,但現在和spring整合所以不需要單獨寫mybatis配置文件,全交給spring即可。
4、srping配置文件
在resource文件夾下新建srpring配置文件:applicationContext.xml。
關於dao層的配置:
<!--DAO 層配置文件開始--> <!-- 配置數據源 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="url" value="jdbc:mysql://localhost:3306/maven?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <!-- 配置mybatis的sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--掃描pojo包,給包下所有對象起別名--> <property name="typeAliasesPackage" value="test.domain" /> </bean> <!-- 掃描接口包路徑,生成包下所有接口代理對象 ,並放入spring容器中 --> <!-- DAO接口所在包名,Spring會自動查找其下的類 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="test.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!--DAO 層配置文件結束-->
到此,dao層相關代碼編寫完畢,可以做一個單元測試看到底起不起作用。
5、單元測試
在test包下寫單元測試的代碼。

測試代碼:
public class BookTest {
@Test
public void findById(){
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
BookDao bean = ac.getBean(BookDao.class);
Book book = bean.findById(1);
System.out.println(book.getName());
}
}
剩下的,可以自己造些數據測試是否正常。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/273548.html
微信掃一掃
支付寶掃一掃