當前位置:
                    首頁 >
                            前端技术
>                            javascript
>内容正文                
                        
                    javascript
Spring+SpringMVC+Mybatis框架整合流程
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Spring+SpringMVC+Mybatis框架整合流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                一:基本步驟
————–Mybatis配置 —————-
————Spring整合Mybatis————–
————Spring Service層配置———–
————–SpringMVC配置—————-
二:詳細配置
1.新建Maven項目,導入相關依賴。(推薦) 
 若不使用maven:請前往Maven官網依次下載jar包導入)
2.新建entity包,并根據數據庫(表)新建相關實體類。
//舉個栗子 getter/setter public class Seckill {private int id;private String userName;private int userAge;private String userAddress;....3.新建dao包,并根據業務創建必要的mapper接口類。
//再舉個栗子 public interface SeckillDao {/*** 根據查詢對象* @param seckillId* @return*/Seckill queryById(long seckillId);}4.在resources下新建mybatis-config.xml配置文件。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 配置全局屬性 --><settings><!-- 使用jdbc的getGeneratedKeys 獲取數據庫自增主鍵值 --><setting name="useGeneratedKeys" value="true"/><!-- 使用列別名替換列名 默認:trueselect name as title from table--><setting name="useColumnLabel" value="true"/><!-- 開啟駝峰命名轉換:Table(create_time) -> Entity(createTime) --><setting name="mapUnderscoreToCamelCase" value="true"/></settings> </configuration>5.在resources源文件夾下新建mapper文件夾,根據第3步創建的接口類配置相應的mapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="換成你的包.dao.SeckillDao"><!-- 目的:為DAO接口方法提供sql語句配置--><select id="queryById" resultType="Seckill" parameterType="long"><!-- 具體sql -->select seckill_id,name,number,start_time,end_time,create_timefrom seckillwhere seckill_id = #{seckillId}</select></mapper>6.在resources文件夾下新建spring文件夾,新建spring-dao.xml,然后添加二者整合的配置。
/*推薦:在resources包下創建jdbc.properties用于配置數據庫的連接信息*/ driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf-8 username=root password= <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- Spring配置整合mybatis過程 --><!-- 1:配置數據庫相關參數properties的屬性:${url} --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 2:數據庫連接池 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 配置連接池屬性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- c3p0連接池的私有屬性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 關閉連接后不自動commit --><property name="autoCommitOnClose" value="false"/><!-- 獲取連接超時時間 --><property name="checkoutTimeout" value="3000"/><!-- 當獲取連接失敗重試次數 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 約定大于配置 --><!-- 3:配置SqlSessionFactory對象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入數據庫連接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBatis全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 掃描entity包 使用別名 --><property name="typeAliasesPackage" value="換成你的包.entity"/><!-- 掃描sql配置文件:mapper需要的xml文件 --><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!-- 4:配置掃描Dao接口包,動態實現Dao接口,注入到spring容器中--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 給出需要掃描Dao接口包 --><property name="basePackage" value="換成你的包.dao"/></bean></beans>7.在spring文件夾下新建spring-service.xml,配置service層的相關bean。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!--掃描service包下所有使用注解的類型--><context:component-scan base-package="換成你的包.service"/><!-- 說明:下面的Spring事務管理并不是必需 --><!--配置事務管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--注入數據庫連接池 --><property name="dataSource" ref="dataSource" /></bean><!--配置基于注解的聲明式事務 默認使用注解來管理事務行為 --><tx:annotation-driven transaction-manager="transactionManager" /></beans>Service層的相關bean示例:
//推薦:先定義service接口包再定義service.impl實現包 //@Component 通用 @Service @Dao @Controller控制器 @Service public class SeckillServiceImpl implements SeckillService{//注入Service依賴@Autowired //@Resourceprivate SeckillDao seckillDao;@Overridepublic List<Seckill> getSeckillList() {return seckillDao.queryAll(0,4);}....8.在WEB-INF的web.xml中進行我們前端控制器DispatcherServlet的配置。
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1" metadata-complete="true"> <!-- metadata-complete="true" 不自動掃描注釋:因為action由Spring MVC管理--><!--用maven創建的web-app需要修改servlet的版本為3.1--> <!--配置DispatcherServlet--><servlet><servlet-name>seckill-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--配置SpringMVC 需要配置的文件spring-dao.xml,spring-service.xml,spring-web.xmlMybites -> spring -> springMvc--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-*.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>seckill-dispatcher</servlet-name><!--默認匹配所有請求--><url-pattern>/</url-pattern></servlet-mapping> </web-app>9.在spring文件夾下創建spring-web.xml,進行web層相關bean(即Controller)的配置。
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--配置spring mvc--><!--1,開啟springmvc注解模式a.自動注冊DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapterb.默認提供一系列的功能:數據綁定,數字和日期的format@NumberFormat,@DateTimeFormatc:xml,json的默認讀寫支持--><mvc:annotation-driven/><!--2.靜態資源默認servlet配置--><!--1).加入對靜態資源處理:js,gif,png2).允許使用 "/" 做整體映射--><mvc:default-servlet-handler/><!--3:配置JSP 顯示ViewResolver--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--4:掃描web相關的bean--><context:component-scan base-package="換成你的包.web"/> </beans>web層的相關bean示例:
@Controller //Controller層調用Service層,Service層調用Dao層 @RequestMapping("/seckill") // url:/模塊/資源/{id}/細分 /seckill/list public class SeckillController {@Autowiredprivate SeckillService seckillService;@RequestMapping(value = "/list", method = RequestMethod.GET)public String list(Model model) {//獲取列表頁List<Seckill> list = seckillService.getSeckillList();model.addAttribute("list", list);//list.jsp + model = ModelAndViewreturn "list"; // /WEB-INF/jsp/"list".jsp}- 轉載注明:http://blog.csdn.net/yueshutong123/article/details/79337142
 
轉載于:https://www.cnblogs.com/yueshutong/p/9381590.html
總結
以上是生活随笔為你收集整理的Spring+SpringMVC+Mybatis框架整合流程的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 因数是什么意思?
 - 下一篇: CSS3背景图片百分比及应用