1. 编写映射文件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="userMapper">
<!--namespace : 命名空间:与id属性共同构成唯一标识 namespace.id: user.findAll
resultType: 返回结果类型(自动映射封装):要封装的实体的全路径
-->
<!-- 查询所有 -->
<select id="findAll" resultType="uSeR">
select * from user
</select>
<!--新增用户-->
<!--#{} : mybatis中的占位符,等同于JDBC中的?
parameterType :指定接收到的参数类型 -->
<insert id="saveUser" parameterType="user">
insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})
</insert>
<!--更新用户-->
<update id="updateUser" parameterType="user">
update user set username = #{username},birthday = #{birthday},sex = #{sex},address = #{address} where id = #{id}
</update>
<!--删除用户 java.lang.Integer-->
<delete id="deleteUser" parameterType="int">
delete from user where id = #{abc}
</delete>
</mapper>
2)编写测试类
package com.lagou.test;
import com.lagou.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
public class MybatisTest {
/*
测试新增用户
*/
@Test
public void testSave() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
User user = new User();
user.setUsername("自动提交事务");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("北京海淀");
sqlSession.insert("userMapper.saveUser",user);
// 手动提交事务
//sqlSession.commit();
sqlSession.close();
}
/*
测试更新用户
*/
@Test
public void testUpdate() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = new User();
user.setId(4);
user.setUsername("lucy");
user.setBirthday(new Date());
user.setSex("女");
user.setAddress("北京朝阳");
sqlSession.update("userMapper.updateUser",user);
// 手动提交事务
sqlSession.commit();
sqlSession.close();
}
/*
测试删除用户
*/
@Test
public void testDelete() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.delete("userMapper.deleteUser",4);
// 手动提交事务
sqlSession.commit();
sqlSession.close();
}
}
3. 新增注意事项
4. 修改注意事项
5. 删除注意事项
6.知识小结
节选自拉钩教育JAVA系列培训课程