1、Mapper接口中定义增删改查的方法
public interface UserMapper {
List<User> selectUser();//查询数据
User selectUserById(int id);//根据id查数据
int insertUser(User user);//插入数据
int updateUser(User user);//修改数据
int deleteUser(int id);//删除用户
}
2、mapper.xml文件中调用接口中的方法实现增删改查 编写sql语句
- namespace:文件绑定一个对应的Mapper/Dao接口
- id:调用的方法名
- resultType:返回值类型
- parameterType:参数类型
<mapper namespace="com.liu.mapper.UserMapper">
<!--resultType:返回类型-->
<select id="selectUser" resultType="com.liu.pojo.User">
select * from user
</select>
<select id="selectUserById" parameterType="int" resultType="com.liu.pojo.User">
select * from user where id=#{id}
</select>
<insert id="insertUser" parameterType="com.liu.pojo.User">
insert into user (id,username,pwd) values (#{id},#{username},#{pwd})
</insert>
<update id="updateUser" parameterType="com.liu.pojo.User" >
update user set username=#{username},pwd=#{pwd} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
3、引入Junit包的依赖去测试代码中测试这些sql
增删改记得提交事务
public class UserDaoTest {
//查找用户数据
@Test
public void selectUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
//mybatis工具类的getSqlSession方法
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.selectUser();
for (User user: users){
System.out.println(user);
}
sqlSession.close();
}
//根据id查用户数据
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.selectUserById(4);
System.out.println(user);
sqlSession.close();
}
//插入一条数据
@Test
public void insertUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.insertUser(new User(4,"东宝","123321"));
sqlSession.commit();
if(i>0){
System.out.println("插入用户成功");
}
sqlSession.close();
}
//修改一条数据
@Test
public void changeUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int p = mapper.updateUser(new User(4, "萍萍", "145821"));
if(p>0){
System.out.println("修改成功");
}
sqlSession.commit();
sqlSession.close();
}
//删除数据
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.deleteUser(4);
if(i>0){
System.out.println("删除成功");
}
sqlSession.commit();
sqlSession.close();
}
}
mybatis工具类、数据库表的实体类、mybatis配置文件都是不需要做任何修改的