Mybatis XML配置和接口方式增删改查

1、新建一个UserMapper接口,接口中的方法与userMapper.xml中的sql命令标签的id一致。接口类和.xml文件、和user实体类默认在同一个包内。 

如:<select id="selectUser" parameterType="int" resultType="model.User"> 
select * from user where id = #{id} 
</select>
 
id为selectUser,所以接口中的方法名称也是selectUser

2、UserMapper接口代码

package javastudy;

import java.util.List;

public interface UserMapper {
	public User selectUser(int id);
	public List<User> selectAll();
	public void addUser(User user);
	public void updateUser(User user);
	public void deleteUser(int id);

}

3、userMapper.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="javastudy.UserMapper">
    <select id="selectUser" resultType="javastudy.User">
        select * from user where id = #{id}
    </select>
    <select id="selectAll" resultType="javastudy.User">
        select * from user
    </select>
    <insert id="addUser" parameterType="javastudy.User">
    	insert into user (userName,userPwd) values (#{userName},#{userPwd})
    </insert>
    <update id="updateUser" parameterType="javastudy.User">
    	update user set userName=#{userName},userPwd=#{userPwd} where id=#{id}
    </update>
    <delete id="deleteUser" parameterType="int">
    	delete from user where id=#{id} 
    </delete>
</mapper>

4、修改mybatis-config.xml配置文件。

 <mappers>  
    <!-- 接口配置 --> 
    <mapper class="javastudy.UserMapper"/>
    </mappers> 

5、Junit test case类代码

package test;

import java.io.IOException;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import javastudy.User;
import javastudy.UserMapper;
import utility.MyBatisUtils;
public class MyTest {
	@Test
	public void testSelect() throws IOException {
		SqlSession session=MyBatisUtils.openSession();
		UserMapper userMapper=session.getMapper(UserMapper.class);
		User user=userMapper.selectUser(1);
		System.out.println(user);
		session.close();
	}
	@Test
	public void testSelectAll() throws IOException {
		SqlSession session=MyBatisUtils.openSession();
		UserMapper userMapper=session.getMapper(UserMapper.class);
		List<User> list=userMapper.selectAll();
		System.out.println(list);
		session.close();
	}
	@Test
	public void testInsert() throws IOException {
		SqlSession session=MyBatisUtils.openSession();
		UserMapper userMapper=session.getMapper(UserMapper.class);
		User user=new User();
		user.setUserName("tangbin");
		user.setUserPwd("168888");
		userMapper.addUser(user);
		session.commit();
		session.close();
	}
	@Test
	public void testUpdate() throws IOException {
		SqlSession session=MyBatisUtils.openSession();
		UserMapper userMapper=session.getMapper(UserMapper.class);
		User user=new User();
		user.setId(4);
		user.setUserName("王五");
		user.setUserPwd("wangwu123456");
		userMapper.updateUser(user);
		session.commit();
		session.close();
	}
	@Test
	public void testDelete() throws IOException {
		SqlSession session=MyBatisUtils.openSession();
		UserMapper userMapper=session.getMapper(UserMapper.class);
		userMapper.deleteUser(5);
		session.commit();
		session.close();
	}
	
}

猜你喜欢

转载自blog.csdn.net/tangbin0505/article/details/82625834