springmvc-mybatis整合

来源:互联网 发布:java 多线程使用场景 编辑:程序博客网 时间:2024/06/06 04:05

1.整合所需要的jar包
2.在web.xml配置springmvc 的dispathcerservlet

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- springmvc dispatcherservlet --> <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:spring-mybatis.xml</param-value>    </init-param>    <load-on-startup>1</load-on-startup> </servlet>  <servlet-mapping>    <servlet-name>springmvc</servlet-name>    <!-- 拦截所有请求给  spring的请求分发器处理 -->    <url-pattern>/</url-pattern> </servlet-mapping></web-app>

3.mybaits开发有两种方式,第一种是以原始的dao开发,第二种是动态sql代理开发。下面整合以第一种方式,

spring的配置文件,由此来管理sqlsessionfactory,数据源等。

<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">    <!-- 扫描控制器注解包 -->    <context:component-scan base-package="com.ssm.controller"></context:component-scan>    <!-- 1.加载c3p0配置文件 -->    <context:property-placeholder location="classpath:c3p0.properties"/>    <!-- 2.配置数据源 -->    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="${jdbc.driverClass}"></property>        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>        <property name="user" value="${jdbc.user}"></property>        <property name="password" value="${jdbc.password}"></property>    </bean>    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件,如果需要配置一些mybatis的基本配置可以使用configLocation -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <!-- 自动扫描mapping.xml文件 -->        <property name="mapperLocations" value="classpath:com/ssm/model/User.xml"></property>    </bean>    <!-- 页面处理器 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name = "prefix" value="/WEB-INF/views/"></property>        <property name = "suffix" value = ".jsp"></property>    </bean>    <!-- userdao -->    <bean id="dao" class="com.ssm.dao.impl.UserDAOImpl">        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>    </bean></beans>

4.配置mapper.xml, 以一个usermapper.xml为例,对应的javabean为User.java

package com.ssm.model;public class User {    private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return this.getUsername()+this.getPassword();    }}
<?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="cn.itcast.ssm.mapper.UserMapper">    <select id="findUserById" parameterType="int" resultType="com.ssm.model.User">        SELECT * FROM USER WHERE id=#{value}    </select>   </mapper>

5.dao接口以及实现

//1.dao接口package com.ssm.dao;import com.ssm.model.User;public interface UserDAO {    public User selectByID(int id);}//2.实现package com.ssm.dao.impl;import org.apache.ibatis.session.SqlSession;import org.mybatis.spring.support.SqlSessionDaoSupport;import com.ssm.dao.UserDAO;import com.ssm.model.User;public class UserDAOImpl extends SqlSessionDaoSupport implements UserDAO {    @Override    public User selectByID(int id) {        SqlSession sqlsession = this.getSqlSession();        User user = sqlsession.selectOne("findUserById", id);        return user;    }}

6.实现控制器基于注解的方式

package com.ssm.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import com.ssm.dao.UserDAO;import com.ssm.model.User;@Controller@RequestMapping("/user")public class UserController {    @Autowired    private UserDAO dao;    @RequestMapping(value="/select",method=RequestMethod.GET)    public String selectById(@RequestParam("id")int id)    {        System.out.println("test");        User user = dao.selectByID(id);        //没有传递数据过jsp直接打印做简单测试        System.out.println(user.toString());        return "index";    }}

以上,

0 0
原创粉丝点击