`
longying2008
  • 浏览: 302279 次
社区版块
存档分类
最新评论

MyBatis与Spring整合

 
阅读更多

示例的目录结构:


1. 配置开发所需要的Jar包

本示例主要用到的Jar包主要有:

spring-4.0.6

mybatis-3.2.7

mybatis-spring-1.2.2

mysql-connector-java-5.1.22

junit-4.11


Jar包明细:



示例使用Maven管理Jar包,pom.xml配置文件内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>lianliansteel</groupId>
  <artifactId>lianliansteel</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>lianliansteel</name>
  <url>http://maven.apache.org</url>
  <dependencies>
  	<!-- Spring 基础Jar包 : Begin -->
  	<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <!-- Spring 基础Jar包 : End -->
    <!-- Spring JDBC 数据访问 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <!-- Spring MVC 框架 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <!-- mybatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.7</version>
    </dependency>
    <!-- mybatis与spring的“粘合剂” -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>
    <!-- mysql driver -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.22</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <properties>
  	<org.springframework.version>4.0.6.RELEASE</org.springframework.version>
  </properties>
  <build>
    <finalName>lianliansteel</finalName>
  </build>
</project>

2. 在资源文件database.properties中配置数据库连接信息

database.driverClassName = com.mysql.jdbc.Driver
database.url = jdbc:mysql://127.0.0.1/SDGL?useUnicode=true&characterEncoding=utf8
database.username = root
database.password = abc123


3. 编写实例类及Dao类

Entity.java:

package com.sdgl.common;

import java.io.Serializable;

public interface Entity extends Serializable {

}


Department.java:

package com.sdgl.admin.entity;

import com.sdgl.common.Entity;

/**
 * 部门
 * @author wgc
 *
 */
public class Department implements Entity {

	private static final long serialVersionUID = -3212983578086635496L;

	private Long id = 0L;

	private String name = "";				//部门名称
	private String description = "";		//部门
	private String code = "";				//部门代码

	private Boolean disabled = false;		//是否可用
	private Long parentId = 0L;				//上级部门ID
	private Long creatorId = 0L;			//创建者ID
	private Long createTime = 0L;			//创建时间
	private Long lastAccess = 0L;			//最后更新时间
	
	public Department() {}
	
	public Department(String name, String description, Long parentId, Long creatorId, String code) {
		this.id = 0L;
		this.name = name;
		this.description = description;
		this.code = code.trim();
		this.disabled = false;
		this.parentId = parentId;
		this.creatorId = creatorId;
		this.createTime = System.currentTimeMillis();
		this.lastAccess = 0L;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Boolean getDisabled() {
		return disabled;
	}

	public void setDisabled(Boolean disabled) {
		this.disabled = disabled;
	}

	public Long getParentId() {
		return parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public Long getCreatorId() {
		return creatorId;
	}

	public void setCreatorId(Long creatorId) {
		this.creatorId = creatorId;
	}

	public Long getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Long createTime) {
		this.createTime = createTime;
	}

	public Long getLastAccess() {
		return lastAccess;
	}

	public void setLastAccess(Long lastAccess) {
		this.lastAccess = lastAccess;
	}
	
}

DepartmentDao.java:

package com.sdgl.admin.dao;

import com.sdgl.admin.entity.Department;

public interface DepartmentDao {

	void save(Department department);
}


4. 添加MyBatis的Mapper文件 Department.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">
  
<mapper namespace="com.sdgl.admin.dao.DepartmentDao">
  <insert id="save" parameterType="Department">
    INSERT INTO BAS_DEPARTMENT 
    	(name, description, code, disabled, parentId, creatorId, createTime, lastAccess) 
    VALUES 
    	(#{name}, #{description}, #{code}, #{disabled}, #{parentId}, #{creatorId}, #{createTime}, #{lastAccess})
    <selectKey resultType="long" keyProperty="id">
      SELECT last_insert_id() AS id FROM BAS_DEPARTMENT LIMIT 1
    </selectKey>
  </insert>
</mapper>

5. 注册Dao类

business-admin.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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
	<bean id="departmentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
	  <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
	  <property name="mapperInterface" value="com.sdgl.admin.dao.DepartmentDao"></property>
	</bean>   
</beans>


6. 在Spring核心配置文件applicationContext.xml中配置数据源、MyBatis组件

<?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-3.0.xsd">
        
	<context:property-placeholder location="classpath:database.properties"/>
	
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	  <property name="driverClassName" value="${database.driverClassName}"></property>
	  <property name="url" value="${database.url}"></property>
	  <property name="username" value="${database.username}"></property>
	  <property name="password" value="${database.password}"></property>
	</bean>
	
	<!-- 配置MyBatis组件:SqlSessionFactoryBean -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	  <!-- 指定数据源 -->
	  <property name="dataSource" ref="dataSource"></property>
	  <!-- 指定mybatis的核心配置文件 -->
	  <property name="configLocation" value="classpath:mybatis-config.xml"></property>
	</bean>
	
	<!-- 导入资源文件 -->
	<import resource="com/sdgl/admin/service/business-admin.xml"></import>
</beans>


MyBatis核心配置文件

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 type="com.sdgl.admin.entity.Department" alias="Department"/>
  </typeAliases>
  <mappers>
    <mapper resource="com/sdgl/admin/dao/Department.xml"/>
  </mappers>
</configuration>

7. 编写测试类

DepartmentDaoTest.java:

package com.sdgl.admin.dao;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.sdgl.admin.entity.Department;

public class DepartmentDaoTest {

	@Test
	public void testSave() {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
		DepartmentDao dao = ctx.getBean("departmentDao", DepartmentDao.class);
		
		Department department = new Department("first", "mybatis与spring整合-测试", 0L, 0L, "01");
		
		dao.save(department);
	}
}

8. 验证

在数据库中查询记录是否已经成功插入



分享到:
评论

相关推荐

    Mybatis与Spring整合所需的jar包

    mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...

    mybatis与spring整合的全部jar包

    以上就是关于“mybatis与spring整合的全部jar包”的详细知识点,这些组件共同构建了一个灵活且易于维护的Java Web应用程序。通过理解这些概念和技术,开发者可以更好地理解和使用SSM框架来开发复杂的企业级应用。

    mybatis与spring整合全部jar包

    这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...

    mybatis与spring整合全部jar包,

    mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,

    mybatis与spring整合全部jar包(包括springmvc

    在标题提到的“mybatis与spring整合全部jar包(包括springmvc)”中,我们关注的重点是这两个框架的集成以及可能包含的Spring MVC部分,这通常涉及到以下几个关键知识点: 1. **MyBatis**:MyBatis是一个优秀的持久层...

    mybatis与spring整合全部jar包.rar

    标题 "mybatis与spring整合全部jar包.rar" 描述的内容涉及到的是将MyBatis与Spring进行集成时所需的一系列依赖库。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而Spring是一个全面的...

    mybatis-spring 整合jar包

    mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1

    mybatis与spring整合依赖包集

    本"mybatis与spring整合依赖包集"包含了一系列必要的库,使得开发者能够轻松地搭建集成环境,进行高效的数据访问。 首先,MyBatis是一个优秀的持久层框架,它简化了SQL操作,将SQL语句直接映射到Java方法,避免了...

    MyBatis与Spring整合jar包(1).rar

    这个名为"MyBatis与Spring整合jar包(1).rar"的压缩包,很可能是包含了一些必要的库文件,帮助开发者快速搭建一个支持MyBatis和Spring集成的项目环境。 首先,我们要理解MyBatis和Spring的基本概念。MyBatis是一个...

    mybatis与spring整合中文版

    2. **配置集成**:整合MyBatis和Spring涉及到的主要配置包括Spring的配置文件(如applicationContext.xml)和MyBatis的配置文件(如mybatis-config.xml)。在Spring配置中,需要定义SqlSessionFactoryBean,并指定...

    mybatis与spring整合全部jar包(包括springmvc)

    mybatis与spring整合全部jar包(包括springmvc)。包括: 1.spring的jar包 2.mybatis的jar包 3.spring+mybatis的整合包 4.Mysql的数据库驱动jar包 5.数据库连接池的jar包

    mybatis与spring整合jar包

    本篇将详细阐述MyBatis与Spring整合的关键知识点,以及如何使用`mybatis-spring-1.2.2`整合包。 一、MyBatis简介 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的...

    Mybatis与Spring整合创建Web项目

    以下是对"Mybatis与Spring整合创建Web项目"这一主题的详细说明: 一、Mybatis简介 Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及...

    MyBatis 2章 MyBatis与Spring整合

    《MyBatis与Spring整合深度解析》 在Java开发领域,MyBatis和Spring都是不可或缺的框架,它们各自在持久层和应用上下文管理方面有着出色的表现。将这两个框架整合在一起,可以极大地提升项目的开发效率和代码的可...

    Mybatis与Spring整合全部jar包

    将Mybatis与Spring整合,可以充分利用两者的优点,实现更高效、更模块化的开发。 整合Mybatis和Spring,首先需要理解它们的核心概念。Mybatis中的核心组件是SqlSessionFactory和SqlSession,它们分别负责创建...

    mybatis与spring整合全部jar包(包括springmvc).zip

    这个名为“mybatis与spring整合全部jar包(包括springmvc).zip”的压缩包提供了进行整合所需的全部依赖库,使得开发者可以快速搭建一个功能完备的开发环境。下面将详细阐述MyBatis、Spring以及Spring MVC这三个关键...

    mybatis与spring整合

    MyBatis与Spring整合的主要目的是实现更高效的事务管理。Spring通过PlatformTransactionManager接口来管理事务,它可以适配多种事务管理器,包括JDBC、Hibernate等。在整合MyBatis时,我们需要配置一个DataSource,...

    mybatis-spring 整合包

    MyBatis-Spring 整合包是专门为将MyBatis持久层框架与Spring应用框架集成而设计的一个组件。这个包的出现旨在简化MyBatis在Spring环境中的配置和使用,使得开发者可以充分利用两者的优点,实现更加灵活和方便的数据...

    Mybatis与Spring整合

    `SqlSessionFactoryBean`是Mybatis-Spring提供的一个特殊Bean,它扩展了Mybatis的`SqlSessionFactory`概念,并与Spring的IoC容器集成。`SqlSessionFactory`是Mybatis的核心,用于创建`SqlSession`,而`SqlSession`是...

Global site tag (gtag.js) - Google Analytics