1.定义数据源
做一些简单配置,其中url,name,pw采用占位的方式,从setting中读取
setting.properties中的配置(此文件在src-main-resources-settings.properties)
mybatis作用:是数据库jdbc的框架,进行一些mybatis的配置
配置事务管理器:Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。
Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager,通过这个接口,Spring为各个平台如JDBC、Hibernate等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。
配置druid
Druid的简介
连接池是一个对数据库连接进行管理的东西,当一个线程需要用 JDBC 对 数据库操作时,它从池中请求一个连接。当这个线程使用完了这个连接,将它返回到连接池中,这样这就可以被其它想使用它的线程使用,而不是每次都重新建立一个数据库连接。
Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!
在web-xml中配置druid的访问
1.指定出哪个servlet处理druid的相关请求/servlet的作用:其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
2.配置filter,告诉druid要拦截那些请求
resources-mybatis-config.xml配置
到目前为止,我们已经在持久层中学了几种技术了...
- Hibernate
- jdbc
- SpringDAO
那我们为啥还要学Mybatis呢???现在Mybatis在业内大行其道,那为啥他能那么火呢??
Hibernate是一个比较老旧的框架,用过他的同学都知道,只要你会用,用起来十分舒服...啥sql代码都不用写...但是呢,它也是有的缺点::处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句
而JDBC很容易理解,就那么几个固定的步骤,就是开发起来太麻烦了,因为什么都要我们自己干..
而SpringDAO其实就是JDBC的一层封装,就类似于dbutils一样,没有特别出彩的地方....
我们可以认为,Mybatis就是jdbc和Hibernate之间的一个平衡点...毕竟现在业界都是用这个框架,我们也不能不学呀!
配置项目中使用的log
在pom.xml中配置依赖后,就可以在项目中使用logback了
在resource-logback.xml 进行配置,就有了最基本的日志输出了
验证项目是否搭建成功
1.在java-com.mmall-controller下创建 TestController.java
2.配置tomcat运行一下(5-8节)
提示没有dao包和mapper,在java-com.mmall-dao中新建 TestDao.java,在resource-mapper中新建TestMapper.xml(从别的地方直接copy一份)
DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。
在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。
Mapper用于映射SQL语句,可以说是MyBatis操作数据库的核心特性之一。model层就是实体类,对应数据库的表。controller层是Servlet,主要是负责业务模块流程的控制,调用service接口的方法,在struts2就是Action。Service层主要做逻辑判断,Dao层是数据访问层,与数据库进行对接。至于Mapper是mybtis框架的映射用到的,mapper映射文件将在dao层用。
3.项目再运行一下,
成功运行!
4.测试一下写过的接口
点开spring-servlet 移除掉
再运行,运行成功
环境搭建的流程
web.xml——spring-servlet.xml——applicationContext.xml——mybatis-config.xml 核心配置已完成!
之后再配置logback.xml