简单的Mybatis与Spring整合

新建一个Java Project,导包。

分别在src目录下新建com.sm.pojo, com.sm.mapper, com.sm.test的package,用以存放实体类,mapper,和测试类。

实体类选择用User,字段id和name。对应地,建立mysql的springmybatis的数据库,建立user_表格。

在mapper的package下面建立UserMapper的interface和User.xml。

代码分别如下:

UserMapper.java

package com.sm.mapper;

import java.util.List;

import com.sm.pojo.User;

public interface UserMapper {
	
	public int add(User user);
	
	public void delete(int id);
	
	public User get(int id);
	
	public int update(User user);
	
	public List<User> list();
	
	public int count();
}

User.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.sm.mapper.UserMapper">
	<insert id="add" parameterType="User">
		insert into user_ (name,usercode) values(#{name},#{usercode})
	</insert>
	
	<delete id="delete" parameterType="User">
		delete from user_ where id = #{id}
	</delete>
	
	<select id="get" parameterType="_int" resultType="User">
		select from user_ where id = #{id}
	</select>
	
	<select id="list" resultType="User">
		select * from user_
	</select>
	
	<update id="update" parameterType="User">
		update user_ set name = #{name},usercode = #{usercode} where id = #{id}
	</update>
	
	<select id="count" resultType="_int">
		select count(*) from user_
	</select>
</mapper>

值得注意的是, 在mybatis这一框架的搭建demo中,User.xml里,<mapper>内容为<mapper namespace="com.mybatis.pojo>。也就是在xml中写好CRUD,关联了pojo下面的实体类。

而在整合spring和mybatis时,<mapper namespace="com.mybatis.mapper.UserMapper">。这样测试时,就可以调用与xml中id同名的方法进行CRUD。并在applicationContext.xml中,写上<property name="typeAliasesPackage" value="com.sm.pojo"/> 。这样xml里面的参数类型User无需写全称。

编写测试类

package com.sm.test;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.sm.mapper.CategoryMapper;
import com.sm.mapper.UserMapper;
import com.sm.pojo.Category;
import com.sm.pojo.User;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class MybatisTest {
	@Autowired
	private UserMapper userMapper;
	
	@Test
	public void testAdd(){
		User user = new User();
		user.setName("User 2");
		user.setUsercode("180926002");
		userMapper.add(user);
	}
	
	@Test
	public void testList(){
		System.out.println(userMapper);
		List<User> us = userMapper.list();
		for(User u:us){
			System.out.println(u.getName()+"\t"+u.getUsercode());
		}
	}
}

@Autowired是通过Spring的注解方式获取对象categoryMapper。同样也可以用@Resource。

@RunWith(SpringJUnit4ClassRunner.class)//让测试运行于spring测试环境

@ContextConfiguration(locations="classpath:xxx.xml")//指定 Spring 配置文件所在的位置

 

Result:

org.apache.ibatis.binding.MapperProxy@5f683daf
User1    180926001
User 2    180926002

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值