`
周一Monday
  • 浏览: 346316 次
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3整合Mybatis

阅读更多
//@Alias("User") 
//设置别名,默认是类名
public class User {

	private int id;
	private String name;
	private Date birthday;
	private double salary;

	//getter and setter

}

 

dao

 

/**
 * 使用Mybatis实现持久层只要定义    Dao接口和xxxmapper.xml文件   就可以了,不需要编写实现类 
 * @author Monday
 * @date 2013-9-5 上午11:57:51
 * @version 1.0
 */
public interface UserMapper {

	void save(User user);

	void update(User user);

	void delete(int id);

	User findById(int id);

	List<User> findAll();
}

  

xxxMapper.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="org.monmday.springmybatis.mappers.UserMapper">

	<resultMap type="User" id="userResult">
		<result column="user_id" property="id"/>
		<result column="user_name" property="name"/>
		<result column="user_birthday" property="birthday"/>
		<result column="user_salary" property="salary"/>
	</resultMap>

	<!-- 取得插入数据后的id -->
	<!-- 方式1 -->
	<!-- 
	<insert id="save">
		insert into t_user(user_name,user_birthday,user_salary)
		values(#{name},#{birthday},#{salary})
		<selectKey keyProperty="id" resultType="int">
			select last_insert_id() as id
		</selectKey>
	</insert>
	 -->

	<!-- 方式2 -->
	<insert id="save" keyColumn="user_id" keyProperty="id" useGeneratedKeys="true">
		insert into t_user(user_name,user_birthday,user_salary)
		values(#{name},#{birthday},#{salary})
	</insert>

	<update id="update">
		update t_user
		set user_name = #{name},
			user_birthday = #{birthday},
			user_salary = #{salary}
		where user_id = #{id}
	</update>
	
	<delete id="delete">
		delete from t_user
		where user_id = #{id}
	</delete>

	<select id="findById" resultMap="userResult">
		select *
		from t_user
		where user_id = #{id}
	</select>
	
	<select id="findAll" resultMap="userResult">
		select * 
		from t_user
	</select>

</mapper>

下面是Spring3整合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:p="http://www.springframework.org/schema/p" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<!-- 属性文件 -->
	<context:property-placeholder location="jdbc.properties"  />

	<!-- 数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
		p:driverClassName="${jdbc.driverClassName}"
		p:url="${jdbc.url}"
		p:username="${jdbc.username}"
		p:password="${jdbc.password}"/>

	<!-- sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
		p:dataSource-ref="dataSource"
		p:typeAliasesPackage="org.monmday.springmybatis.domian"/>

	<!-- 配置要扫描的xxxMapper.xml -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
		p:basePackage="org.monmday.springmybatis.mappers"
		p:sqlSessionFactoryBeanName="sqlSessionFactory"/> 


	<!-- 事务管理 -->
	<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
		p:dataSource-ref="dataSource"/> 
	<tx:annotation-driven transaction-manager="txManager" />
	
</beans>

 测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/beans.xml")
public class Main {

	@Autowired
	private UserMapper userMapper;

	@Test
	public void save() {
		User user = new User();
		user.setBirthday(new Date());
		user.setName("marry");
		user.setSalary(300);
		userMapper.save(user);
		System.out.println(user.getId());
	}

	@Test
	public void update() {
		User user = userMapper.findById(2);
		user.setSalary(2000);
		userMapper.update(user);
	}

	@Test
	public void delete() {
		userMapper.delete(3);
	}

	@Test
	public void findById() {
		User user = userMapper.findById(1);
		System.out.println(user);
	}

	@Test
	public void findAll() {
		List<User> users = userMapper.findAll();
		System.out.println(users);
	}
}

  

其他代码在附件中。

  

 

 

分享到:
评论

相关推荐

    Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程

    Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 详细教程 本教程主要介绍了 Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 的详细教程。下面将详细介绍如何实现 Spring 整合 ...

    Spring4--Spring4整合mybatis3

    下面我们将深入探讨"Spring4--Spring4整合mybatis3"的相关知识点。 1. **Spring4的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)** - IoC:Spring4通过依赖注入...

    spring整合mybatis3需要的jar文件

    下面将详细介绍在Spring整合MyBatis3时所需的jar文件以及它们在整合过程中的作用。 1. **Spring核心模块**: - `spring-context`: 提供了应用上下文和依赖注入的核心接口,是Spring框架的基础。 - `spring-beans`...

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    **Spring整合Mybatis原理分析** 在Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,成为了事实上的核心框架。Mybatis则是一个轻量级的持久层框架,它简化了数据库操作,提供了直观的SQL映射。将...

    spring cloud整合mybatis

    在Spring Cloud生态系统中,整合MyBatis作为持久层框架是一个常见的需求。这允许开发者利用Spring Cloud的强大服务发现和治理功能,结合MyBatis的灵活数据库操作能力,构建微服务架构的应用程序。以下将详细介绍如何...

    spring整合Mybatis

    本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关技术点。 首先,Spring框架是一个开源的应用程序框架,它简化了Java EE应用的开发,提供了依赖注入(DI)和面向切面编程(AOP)等功能。在...

    spring3和mybatis3的初始探索

    标题 "spring3和mybatis3的初始探索" 涉及到的是两个非常重要的Java开发框架——Spring和MyBatis的集成与应用。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...

    Spring MVC 整合MyBatis完整例子

    **Spring MVC 整合MyBatis完全指南** 在现代Java Web开发中,Spring MVC和MyBatis是两个非常流行的框架。Spring MVC作为Spring框架的一部分,主要用于构建强大的、可维护的Web应用程序,而MyBatis则是一个优秀的...

    spring_mybatis 整合jar包

    3. MyBatis-Spring整合库:mybatis-spring。 4. 数据库驱动:如mysql-connector-java(对于MySQL)、ojdbc(对于Oracle)等。 5. 其他依赖库:如log4j或slf4j用于日志记录,asm、cglib等用于AOP代理。 整合过程大致...

    Spring mvc整合mybatis例子

    整合Spring MVC和MyBatis的好处在于,Spring MVC提供了强大的MVC架构支持,MyBatis则提供了灵活的SQL操作,两者结合能够实现松耦合的Web应用,便于维护和扩展。 7. **最佳实践** - 使用@Autowired注解进行依赖...

    Spring MVC整合Mybatis

    **Spring MVC 整合 Mybatis 知识点详解** 在现代Java Web开发中,Spring MVC 和 Mybatis 是两个非常流行的框架。Spring MVC 提供了强大的MVC架构支持,而Mybatis则是一个轻量级的持久层框架,专注于SQL映射。将两者...

    spring boot整合 mybatis 和 hikariCP

    附件是spring boot整合mybatis和hikariCP的示例,本demo的spring boot是2.0以下版本,spring boot 2.0以上版本默认的数据库连接池就是hikariCP。

    Spring5整合mybatis3

    本篇文章将详细讲解如何在Spring5环境下整合MyBatis3,以及在实际项目中如何设置和使用。 首先,我们需要确保环境配置正确。这里我们使用的环境为JDK8,Tomcat9作为应用服务器,以及MySQL8作为数据库服务。JDK8提供...

    mybatis与spring整合的全部jar包

    在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常有帮助。下面我们将详细探讨这些jar包在SSM整合中的作用以及相关知识点。 1. **Spring框架**: Spring是...

    Spring整合MyBatis完整实例 最新 +详细注释

    首先,Spring整合MyBatis主要是通过Spring的SqlSessionFactoryBean和MapperScannerConfigurer来完成的。SqlSessionFactoryBean用于创建MyBatis的SqlSessionFactory,它是MyBatis的核心,负责管理SqlSession。...

    Spring Boot整合Mybatis

    当我们需要在Spring Boot项目中整合MyBatis时,可以实现高效且灵活的数据访问。 首先,我们要理解Spring Boot的核心特性之一是自动配置。在整合MyBatis时,Spring Boot会自动配置MyBatis的相关组件,如...

    spring4.0.6+mybatis3.2.7整合比用包

    本文将详细解析"spring4.0.6+mybatis3.2.7整合包"的整合过程及其相关知识点。 首先,Spring 4.0.6是Spring框架的一个稳定版本,它提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,使得开发者能够更好地管理...

    Spring3+springmvc+mybatis三大整合

    在"Spring3+SpringMVC+MyBatis"的整合过程中,通常会使用Spring的ApplicationContext来加载配置,管理所有组件。SpringMVC的配置需要定义DispatcherServlet,配置视图解析器如InternalResourceViewResolver,以及...

    springmvc3+spring+mybatis3整合项目 注解实现

    这个整合项目是基于Spring 3.0.5、Spring MVC 3和MyBatis 3.0.2版本,采用注解方式进行配置,简化了XML配置文件,提高了开发效率。 Spring MVC是Spring框架的一部分,主要负责Web请求的处理。在本项目中,通过注解...

Global site tag (gtag.js) - Google Analytics