整合Mybatis与Spring框架


 整合Mybatis与Spring框架步骤:

一、搭建项目环境

1、创建web工程,如图1-1所示

web工程 1-1

2、在lib文件夹导入所需jar包,如图2-1所示

导入jar包 2-1

3、在src/mian/resource下配置Spring XML文件以及mybatis.xml文件,和log4j.properties文件,如图3-1所示:

                   配置文件 3-1

area.xml文件用来配置sql语句;

application.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:mvc="http://www.springframework.org/schema/mvc"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsdhttp://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"><!--配置数据库信息--><bean id="dataSource"  class="com.zaxxer.hikari.HikariDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="jdbcUrl" value="jdbc:mysql://39.106.122.229/venus"></property><property name="username" value="root"></property><property name="password" value="root"></property></bean><bean class="org.mybatis.spring.SqlSessionFactoryBean"><!--注意:dataSource属性必须配置,用来指定数据源,此时mybatis-config.xml中environments标签将不再起作用,即不用mybatis配置数据库信息--><property name="dataSource" value="#{dataSource}"></property><!-- configLocation指定全局配置文件位置 --><property name="configLocation" value="classpath:mybatis.xml"></property><!--mapperLocations: 指定XML 映射文件位置,此时就不需要再mybatis.xml文件中进行配置,即将mappers标签删掉--><property name="mapperLocations" value="classpath:sql/*.xml"></property></bean><!-- 扫描指定包及其子包下的mapper接口并生成响应代理对象;base-package:指定mapper接口的包名 注意:该标签只对接口感冒! --><mybatis-spring:scan base-package="com.jd"/><!-- context:component-scan标签作用如下:扫描其base-package标签属性值指定的包内的类、实例化被@Component、@Repository、@Service或@Controller等类注解所注解的类;为这些类中有@Autowired、 @Resource 或@Inject注解的属性赋值。--><context:component-scan base-package="com.jd"></context:component-scan><!-- 配置视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/views/" p:suffix=".jsp"></bean></beans>

4、配置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_2_5.xsd" id="WebApp_ID" version="2.5"><display-name>earth</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 配置Servlet,每个请求都会到达这里 --><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:application.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><!-- 过滤器,防止乱码 --><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><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/</url-pattern></filter-mapping>
</web-app>

二、实例

在该工程下创建一个com.jd.area以及com.jd.test模块,创建一个IAreaDao接口和Test类,在area.xml文件中添加sql语句

area.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--只声明了接口,没有Dao层,由动态代理类创建的对象去实现接口里面的方法,并执行sql语句 -->
<mapper namespace="com.jd.area.IAreaDao"><!-- 唯一的的标识,方法名;resultType:返回值类型  --><select id="getNames" resultType="java.lang.String">select name from area where code=#{code}</select></mapper>

IAreaDao代码

package com.jd.area;public interface IAreaDao {String getNames(String code);}

Test类代码

package com.jd.test;import java.io.IOException;
import java.io.InputStream;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.jd.area.IAreaDao;public class Test {public static void main(String[] args) throws IOException {//创建IOC容器,并实例化被@Component、@Repository、@Service或@Controller等类注解所注解的类;为类中有@Autowired、 @Resource 或@Inject注解的属性赋值ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");//得到动态代理对象,接口回调IAreaDao areaDao = applicationContext.getBean(IAreaDao.class);//查看是否为动态代理System.out.println(areaDao.getClass().getName());//输出结果System.out.println(areaDao.getNames("370982"));}
}

输出结果:

如何整合Mybatis与Spring框架?相关推荐

  1. 【Java】MyBatis与Spring框架整合(一)

    本文将利用 Spring 对 MyBatis 进行整合,在对组件实现解耦的同时,还能使 MyBatis 框架的使用变得更加方便和简单. 整合思路 作为 Bean 容器,Spring 框架提供了 IoC ...

  2. mybatis和spring框架的整合

    Mybatis+Sping整合 mybatis+spring整合 整合思路 思路:将mybatis框架的对象,交给spring管理. 把SqlSessionFactory对象,交给spring管理 把 ...

  3. Spring(四)——AOP、Spring实现AOP、Spring整合Mybatis、Spring中的事务管理

    文章目录 1. 什么是AOP 2. 使用Spring实现AOP 2.1 使用Spring的API 接口实现 2.2 自定义实现 2.3 使用注解实现 3. 整合MyBatis 3.1 MyBatis- ...

  4. Spring整合Mybatis之DAO层、Service层开发

    3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...

  5. MyBatis - 6.Spring整合MyBatis

    1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...

  6. Spring Boot整合MyBatis

    最近项目原因可能会继续开始使用MyBatis,已经习惯于spring-data的风格,再回头看xml的映射配置总觉得不是特别舒服,接口定义与映射离散在不同文件中,使得阅读起来并不是特别方便. Spri ...

  7. 【Java从0到架构师】Spring - 整合 MyBatis

    整合 MyBatis 整合 MyBatis - 依赖 整合 MyBatis - 数据源 整合 MyBatis - SqlSessionFactoryBean 整合 MyBatis - MapperSc ...

  8. 第五章spring框架基础

    spring框架 一.spring 概念: 开发步骤: 第1步: 添加jar包 第2步: 创建Java类 第3步: 创建Spring配置文件 第4步: 编写Spring配置文件 二 .控制反转 概念: ...

  9. jpa多表关联查询_Spring Boot 整合mybatis如何自定义 mapper 实现多表关联查询

    上一篇文章已经介绍了自定义 mapper 实现自定义的方法,其实实现了通过自定义的mapper就可以做多表关联等复杂查询.但是很多朋友还是反馈说没有实现多表关联查询,所以,今天把文章又重新修改了,增加 ...

  10. SpringMVC整合mybatis(终结版)

    ssm框架是目前web开发中最流行的框架之一,这个框架快捷方便,搭建完成后是很容易进行项目的开发的. 本文将使用idea作为开发工具,并使用maven进行项目管理,进行ssm框架的搭建. 1. 整合思 ...

最新文章

  1. OSI协议和TCP/IP协议笔记
  2. Ruby的module(模块)
  3. 调用微信和支付宝调三方接口扫描二维码?
  4. 第三次学JAVA再学不好就吃翔(part48)--String类的判断功能
  5. 前端学习(3203):复习类相关知识
  6. pandas操作sql数据库
  7. 首届渣打科营编程马拉松赛初赛圆满结束
  8. [原创]聊聊如何在职场中发邮件
  9. 图片服务器 文件系统,调研分享:图片文件在各文件系统上的访问性能对比
  10. 白帽子讲web安全读后感
  11. XTU OJ 三角形
  12. 软件体系结构风格---基于事件的隐式调用
  13. 8g u盘容量变小格式化u盘内存变小--已解决
  14. CSS3之图片列表展示特效
  15. 二层、三层与四层交换机
  16. 用机器学习做风控的氪信,凭什么获金牌投资人章苏阳数千万融资?
  17. Smbus host controller not enabled Assuming drive cache : write through
  18. php 发送带附件邮件
  19. TopLevel和Topmost
  20. 部落动物:关于男人、女人和两性文化的心理学

热门文章

  1. zabbix所有键值
  2. 【超详细转】VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
  3. 推荐我的一本新作:《Linux安全技术内幕》
  4. [转] 客户端的JavaScript脚本中获取服务器端控件的值 及ID
  5. C语言基础课第三次作业
  6. mysql中on关键字和where关键字
  7. 前端学习之--CSS
  8. Enterprise Architect 中文快速入门
  9. 孙鑫VC学习笔记:第十二讲 (二) 用C语言函数读写文件
  10. 两台服务器怎么发文件,两台服务器怎么发文件