CURD (增删改查)
命名空间(Namespaces)
namespaces中的包名要和mapper接口的包名一致
1. 示例 《增删改要提交事务》
选择,查询语句
-
id:对应namespace中的方法名
-
resultType:sql语句执行的返回值
-
parameterType:参数类型
package com.zsq.mapper;
import com.zsq.entity.User;
import java.util.List;
public interface UserMapper {
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zsq.mapper.UserMapper">
<select id="getAllUser" resultType="com.zsq.entity.User">
select * from `user`
</select>
<select id="getOneUserById" parameterType="int" resultType="com.zsq.entity.User">
select * from `user` where id = #{uid}
</select>
<insert id="addUser" parameterType="com.zsq.entity.User">
insert into `user`(id,name,pws) value (#{id},#{name},#{pws})
</insert>
<update id="updateUserById" parameterType="com.zsq.entity.User">
update `user` set name = #{name},pws = #{pws} where id = #{id}
</update>
<delete id="deleteUserById" parameterType="int">
delete from `user` where id = #{uid}
</delete>
</mapper>
package com.zsq.entity;
import com.zsq.entity.User;
import com.zsq.mapper.UserMapper;
import com.zsq.untils.MybatisUntil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class Test01 {
@Test
public void selectUserListTest(){
SqlSession sqlSession = MybatisUntil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> allUser = mapper.getAllUser();
for (User user : allUser) {
System.out.println(user.toString());
}
sqlSession.close();
}
@Test
public void getOneUserByIdTest(){
SqlSession sqlSession = MybatisUntil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User oneUserById = mapper.getOneUserById(2);
System.out.println(oneUserById.toString());
sqlSession.close();
}
@Test
public void addUserTest(){
User user = new User(3,"新郑","123456");
SqlSession sqlSession = MybatisUntil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.addUser(user);
if (i > 0) System.out.println("添加用户成功!");
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUserById(){
User user = new User(3,"新郑修改","123456");
SqlSession sqlSession = MybatisUntil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.updateUserById(user);
if (i > 0) System.out.println("更新用户成功!");
sqlSession.commit();
sqlSession.close();