利用maven搭建一个web项目,
项目整合SSM框架,用到的jar包如下:
junit junit 4.11testjavax.servlet javax.servlet-api 3.1.0javax.servlet.jsp javax.servlet.jsp-api 2.3.1javax.servlet jstl 1.2org.springframework spring-core 4.1.7.RELEASEorg.springframework spring-beans 4.1.7.RELEASEorg.springframework spring-tx 4.1.7.RELEASEorg.springframework spring-context 4.1.7.RELEASEorg.springframework spring-context-support 4.1.7.RELEASEorg.springframework spring-web 4.1.7.RELEASEorg.springframework spring-webmvc 4.1.7.RELEASEorg.springframework spring-aop 4.1.7.RELEASEorg.springframework spring-aspects 4.1.7.RELEASEorg.springframework spring-jdbc 4.1.7.RELEASEorg.mybatis mybatis-spring 1.2.3log4j log4j 1.2.17org.slf4j slf4j-log4j12 1.7.12org.mybatis mybatis 3.3.0mysql mysql-connector-java 5.1.24com.alibaba druid 1.0.16junit junit 4.11test
DAO层代码编写
1、补充目录
用idea工具新建一个普通的maven web项目,新项目的目录结构如下,目前是不完整的,需要我们补充完善。
![0f82ba0d5f1e012608da36ff73cecc9f.png](https://img-blog.csdnimg.cn/img_convert/0f82ba0d5f1e012608da36ff73cecc9f.png)
在main目录下新建java目录 ,并且转为sources root,操作:
右键目录-->make directory as --> sources root。
![f540e4ccdf332bbc8c711cbd30ee40b6.png](https://img-blog.csdnimg.cn/img_convert/f540e4ccdf332bbc8c711cbd30ee40b6.png)
还要在main目录下新建一个放配置文件的resources文件夹,并转为resources root。操作:
右键文件夹 --> make directory as --> resources root。
![ed3e104961c9668c7582aa4da1350af5.png](https://img-blog.csdnimg.cn/img_convert/ed3e104961c9668c7582aa4da1350af5.png)
如果要做单元测试,则在src下新建test文件夹(和main文件夹同一级),再在test下新建java文件夹,并把java文件夹转为sources root即可。完成后目录结构如下:
![e258a2e7e686f670a559be9e18919656.png](https://img-blog.csdnimg.cn/img_convert/e258a2e7e686f670a559be9e18919656.png)
现在基本的需要用到的文件夹就创建完成了。
2、新建实体类
新建一个test.domain包用于放实体类。新建实体类Book,示例用就简单点3个字段,此处类的属性都和数据表的字段是对应一致的。
![cc3eba2a794cb0e14383e1e4939a22ac.png](https://img-blog.csdnimg.cn/img_convert/cc3eba2a794cb0e14383e1e4939a22ac.png)
3、建dao接口
先建一个包,叫test.dao,当然也可以叫mapper,看个人习惯吧。在包里新建BookDao接口。
![4869069549e3112e003b48a0b7ff3ed7.png](https://img-blog.csdnimg.cn/img_convert/4869069549e3112e003b48a0b7ff3ed7.png)
接口现在只有一个简单的功能,通过id查找Book实体类。
public Book findById(Integer id);
dao接口完成之后,mybatis是不需要写实现类的,我们需要在resources下建一个和接口在同一个包路径的一个包,来放置映射文件,这样编译的时候会和接口在同一路径中。
![1180e4dec93977085b77a53d48c5be44.png](https://img-blog.csdnimg.cn/img_convert/1180e4dec93977085b77a53d48c5be44.png)
映射文件BookDao.xml和接口名称一致。映射文件主要内容:
select * from book where id = #{id};
因为类字段和数据库表字段完全一致,所以这里返回实体可以使用resultType,否则需要定义resultMap。
映射文件写完后,按理需要写mybatis主配置文件,但现在和spring整合所以不需要单独写mybatis配置文件,全交给spring即可。
4、srping配置文件
在resource文件夹下新建srpring配置文件:applicationContext.xml。
关于dao层的配置:
到此,dao层相关代码编写完毕,可以做一个单元测试看到底起不起作用。
5、单元测试
在test包下写单元测试的代码。
![4b616eba8fcccc3014bcb6984de36b23.png](https://img-blog.csdnimg.cn/img_convert/4b616eba8fcccc3014bcb6984de36b23.png)
测试代码:
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()); }}
剩下的,可以自己造些数据测试是否正常。