Mybatis之使用注解开发CRUD



Mybatis之使用注解开发CRUD

上一篇演示了如何使用XML来操作Mybatis实现CRUD,但是大量的XML配置文件的编写是非常烦人的。因此

 

Mybatis也提供了基于注解的配置方式,下面我们来演示一下使用接口加注解来实现CRUD的的例子。

 

首先是创建一个接口。

 

  1. package com.bird.mybatis.bean;
  2. import java.util.List;
  3. import org.apache.ibatis.annotations.Delete;
  4. import org.apache.ibatis.annotations.Insert;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. public interface UserMapper {
  8.     @Insert(“insert into users(name, age) values(#{name}, #{age})”)
  9.     public int add(Users user);
  10.     @Delete(“delete from users where id = #{id}”)
  11.     public int deleteById(int id);
  12.     @Update(“update users set name = #{name}, age = #{age} where id = #{id}”)
  13.     public int update(Users user);
  14.     @Select(“select * from users where id = #{id}”)
  15.     public Users getUserById(int id);
  16.     @Select(“select * from users”)
  17.     public List<Users> getAllUsers();
  18. }

 

package com.bird.mybatis.bean;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserMapper {
	@Insert("insert into users(name, age) values(#{name}, #{age})")
	public int add(Users user);

	@Delete("delete from users where id = #{id}")
	public int deleteById(int id);

	@Update("update users set name = #{name}, age = #{age} where id = #{id}")
	public int update(Users user);

	@Select("select * from users where id = #{id}")
	public Users getUserById(int id);

	@Select("select * from users")
	public List<Users> getAllUsers();
}

 
然后一定不要忘了在conf.xml配置文件中,注册这个类


 

 

 

  1. <mappers>
  2.         <mapper resource=”com/bird/mybatis/bean/userMapper.xml” />
  3.         <mapper class=”com.bird.mybatis.bean.UserMapper”/>
  4.     </mappers>

 

<mappers>
		<mapper resource="com/bird/mybatis/bean/userMapper.xml" />
		<mapper/>
	</mappers>

 
下面就是使用这个类了

 

 

 

  1. @Test
  2.     public void testAdd2() {
  3.         SqlSession openSession = factory.openSession();
  4.         UserMapper mapper = openSession.getMapper(UserMapper.class);
  5.         mapper.add(new Users(-1,”娃娃”,99));
  6.         openSession.commit();
  7.         openSession.close();
  8.     }