项目整合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()); }}
剩下的,可以自己造些数据测试是否正常。