Spring SpringMVC Mybatis 整合

1.首先导入所需的 jar 包

2.写三层

model层

package com.sm.model;

public class userInfo {
	private String username;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpwd() {
		return userpwd;
	}
	public void setUserpwd(String userpwd) {
		this.userpwd = userpwd;
	}
	public String getUserid() {
		return userid;
	}
	public void setUserid(String userid) {
		this.userid = userid;
	}
	public String getUserbalace() {
		return userbalace;
	}
	public void setUserbalace(String userbalace) {
		this.userbalace = userbalace;
	}
	public String getLogintime() {
		return logintime;
	}
	public void setLogintime(String logintime) {
		this.logintime = logintime;
	}
	
	public String getPaymoney() {
		return paymoney;
	}
	public void setPaymoney(String paymoney) {
		this.paymoney = paymoney;
	}
	private String paymoney;
	private String userpwd;

	private String userid;
	private String userbalace;   //用户余额
	private String logintime;    //注册时间

}
dao层

package com.sm.dao;

import java.util.List;

public interface IDaoSM<T>{
	/*
	 * 添加接口
	 */
	public int addItem(T t);
	
	/*
	 *  删除接口 
	 */
	public int removeItem(Object obj);
	
	/*
	 *  查找接口
	 */
	public T getModel(Object obj);
	
	/*
	 * 查找接口(返回集合)
	 */
	
	public List<T> getList(T t);

}
userMapper.java

package com.sm.dao.imp;

import java.util.List;

import com.sm.dao.IDaoSM;
import com.sm.model.userInfo;

public interface userMapper extends IDaoSM<userInfo>{

}
service层

package com.sm.services;

import java.util.List;

import org.springframework.stereotype.Controller;

import com.sm.dao.imp.userMapper;
import com.sm.model.userInfo;
@Controller
public class UserInfoService {
	private userMapper uMapper;

	public userMapper getuMapper() {
		return uMapper;
	}

	public void setuMapper(userMapper uMapper) {
		this.uMapper = uMapper;
	}
	
	public int addItem(userInfo u)
	{
	   	return uMapper.addItem(u);
	}
	
	public List<userInfo> getList(userInfo u)
	{
		return uMapper.getList(u);
	}
	/*
	 * 注册
	 */
	public boolean register(userInfo u){
		if(uMapper.addItem(u)>0){
			return true;
		}else{
			return false;
		}
	}
	/*
	 * 登录
	 */
	public userInfo login(userInfo u){
		List<userInfo> ulist=uMapper.getList(u);
		if(ulist.size()>0){
			return ulist.get(0);
		}else{
			return null;
		}
	}

}
action层

package com.sm.action;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.sm.services.UserInfoService;
import com.sm.model.userInfo;

@Controller
public class userAction {
       private UserInfoService userInfoService;

	public UserInfoService getUserInfoService() {
		return userInfoService;
	}
	public void setUserInfoService(UserInfoService userInfoService) {
		this.userInfoService = userInfoService;
	}

	@RequestMapping(value="/reg.action")
	public void reg(userInfo u){
 		if(userInfoService.register(u)){
 			System.out.println("操作成功");
 		}else{
 			System.out.println("操作失败");
 		}
	}

}
index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>ssm</title>
	
  </head>
  
  <body>
  <form id="form1" action="reg.action">
       昵称:<input type="text" name="username" ><br>
       密码: <input type="text" name="userpwd"><br>
   id:<input type="text" name="userid"><br>      <!-- id和注册时间这里偷个懒就写死了 -->
        注册时间:<input type="text" name="logintime"><br>
        <input type="submit">
  </form>
  </body>
</html>
下面配置 web.xml

<?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">
  <display-name>SpringMybatis</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
   <!-- 配置前端控制器 -->
  <servlet>
     <servlet-name>springmvc2</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:springmvc.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
     <servlet-name>springmvc2</servlet-name>
     <url-pattern>*.action</url-pattern><!--配置的访问路径,一定是按照这种格式写  -->
  </servlet-mapping>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  
  <!-- 解决post提交乱码的问题 -->
  <filter>
	<filter-name>CharacterEncodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>utf-8</param-value>
	</init-param>
  </filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
  
</web-app>
mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
<configuration>
<!-- 编写实例别名 -->
  <typeAliases> 
        <typeAlias alias="User" type="com.sm.model.userInfo"/> 
  </typeAliases> 

  <mappers>
    <mapper resource="com/sm/model/userInfoMapper.xml"/>
  </mappers>
</configuration>
springmvc.xml

<?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:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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.xsd"
        default-autowire="byName"
        >
 <!-- 用注解的方式 -->
 <context:annotation-config>
           <mvc:annotation-driven>
           </mvc:annotation-driven>
 </context:annotation-config>
 <!-- 引入解析jstl的类 -->
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
 
 <!-- 将该包扫描到spring容器下 -->
 <context:component-scan base-package="com.sm.action"></context:component-scan>
 <context:component-scan base-package="com.sm.services"></context:component-scan>
 
</beans>
applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:aop="http://www.springframework.org/schema/aop"   
    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-3.0.xsd   
    http://www.springframework.org/schema/tx   
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   
    http://www.springframework.org/schema/aop    
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd"
    default-autowire="byName"
    >  
    
    <!-- 配置数据源-->
	<bean id="jdbcDataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>oracle.jdbc.driver.OracleDriver</value>
		</property>
		<property name="url">
			<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
		</property>
		<property name="username">
			<value>p2p</value>
		</property>
		<property name="password">
			<value>123</value>
		</property>
	</bean>  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
      <property name="dataSource" ref="jdbcDataSource"></property>  
      <property name="configLocation" value="classpath:mybatis-config.xml"></property>  
   </bean>
   
   <!--配置dao层 -->  
   <bean id="uMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
       <property name="mapperInterface" value="com.sm.dao.imp.userMapper"></property>
       <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
   </bean>
   
</beans>

撒花~








### 回答1: SpringSpring MVC和MyBatis是三个非常流行的Java开发框架。它们可以被整合在一起,形成一个强大的Web应用程序开发框架。整合这三个框架可以使开发人员更加高效地开发Web应用程序,并且可以提高应用程序的性能和可维护性。整合的过程需要配置Spring的上下文、Spring MVC的控制器和MyBatis的数据访问层。整合后,可以使用Spring的依赖注入和AOP功能来管理对象和事务,使用Spring MVC的控制器来处理请求和响应,使用MyBatis的Mapper来访问数据库。 ### 回答2: SpringSpringMVCMyBatis是目前企业级Java开发中常用的三种框架,它们分别有着不同的作用和功能,但是它们可以结合起来使用,相互补充,成为一个完整的应用程序。 首先,Spring框架是一个轻量级的、开源的Java EE框架,以IoC(控制反转)和AOP(面向切面编程)为核心,提供了诸如事务管理、MVC框架、 JDBC框架等服务,是Java企业级应用程序的修建工和纽带。 其次,SpringMVC框架是Spring框架的一部分,是一个基于MVC架构模式的Web框架,它可以处理传入的HTTP请求,将请求映射到相应的处理方法,最终产生HTTP响应,并将响应返回给前端。 最后,MyBatis是一种ORM(对象关系映射)框架,它可以将Java对象映射到数据库中的表,通过提供简单的抽象语言,避免了很多传统的JDBC编程必须处理的样板代码,使得开发人员可以更加关注业务逻辑的实现。 当SpringSpringMVCMyBatis结合起来使用时,可以更好地开发Java Web应用程序。其中,Spring提供了IoC容器,帮助开发人员进行依赖注入,解决各个组件之间的依赖关系,降低系统的耦合度;SpringMVC提供了一个灵活的MVC框架,可以根据不同的需求进行自定义配置,帮助开发人员快速构建Web应用程序;MyBatis可以与Spring MVC集成,提供数据访问层的ORM映射,通过配置文件来实现简便的数据操作。三者相互配合,可以大幅提升开发效率,提高程序运行效率,降低开发的难度和成本。 综上所述,SpringSpringMVCMyBatis整合是Java企业级应用程序中常用的开发手段,既提高了开发的效率,又提高了程序的性能,为企业的IT系统提供了可靠和高效的支持。 ### 回答3: SpringSpring MVC和MyBatis都是非常优秀的Java开发框架,它们都有着各自的优点和特点。Spring是一个轻量级的IoC容器,可以管理Bean的生命周期,并提供了一些其他的功能,例如AOP、事务管理等。Spring MVC是一个基于Servlet的MVC框架,可以进行RESTful风格的Web应用程序开发。MyBatis是一个优秀的ORM框架,可以非常方便地操作数据库。 在实际开发中,SpringSpring MVC和MyBatis通常是一起使用的。可以通过整合这三个框架来提高开发效率,并使代码的复杂度大大降低。整合的过程也非常简单,只需要将它们的配置文件与代码进行交互即可。 具体的整合过程如下: 首先,需要引入SpringSpring MVC和MyBatis的相关依赖包。可以使用Maven或Gradle等依赖管理工具来方便地下载和管理这些依赖。 其次,需要在Spring配置文件中定义相关的Bean,并将它们注入到Spring容器中。MyBatis需要定义SqlSessionFactory和MapperScannerConfigurer这两个Bean,分别用于创建SqlSession和自动扫描Mapper接口。而Spring MVC则需要定义HandlerMapping和HandlerAdapter这两个Bean,用于映射请求和处理请求。 最后,需要在Spring MVC配置文件中配置视图解析器和静态资源访问等相关信息,并添加MyBatis的Mapper映射文件和Mapper接口扫描路径等信息。 经过整合之后,就可以方便地在Spring MVC中使用MyBatis进行数据库操作了。当然,要注意一些细节问题,例如和事务处理的配合、Mapper映射文件和Mapper接口的命名规范等。 整合SpringSpring MVC和MyBatis可以极大地提高项目的开发效率和代码的可维护性,同时也可以减少各个框架之间的冲突和问题。因此,我在实际的开发中也会选择使用这几个框架进行整合,以便更好地完成项目的开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值