Mybatas CRUD
需要知道的东西
- namespace中的包名与接口名的包名一致
- id:对应接口中的方法名
- resultTypr:Sql执行的返回值
- parameterType:参数类型
- 需要传入的值使用
#{}
来代替
CRUD
<?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="cn.at99guoke.dao.UserMapper">
<select id="getUserMapper" resultType="cn.at99guoke.pojo.User">
select * from User where 1=1
</select>
<select id="getByUserId" resultType="cn.at99guoke.pojo.User" parameterType="int">
select * from User where id=#{id}
</select>
<insert id="addUser" parameterType="cn.at99guoke.pojo.User">
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd});
</insert>
<update id="updateUser" parameterType="cn.at99guoke.pojo.User">
update user set name=#{name},pwd=#{pwd} where id=#{id};
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
map参数可以不用对应mySql中的属性
<insert id="getUserById" parameterType="map" >
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd});
</insert>
</mapper>
对应的接口
package cn.at99guoke.dao;
import cn.at99guoke.pojo.User;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public interface UserMapper {
List<User> getUserMapper();
//根据ID查询User
User getByUserId(int i);
//增加
int addUser(User user);
//修改
int updateUser(User user);
//删除
int deleteUser(int id);
//使用Map来使用
int getUserById(HashMap<String, Object> map);
}
一个测试
@Test
public void text2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int user = mapper.addUser(new User(4, "哈哈", "123122"));
System.out.println(user);
//增删改需要提交事务
sqlSession.commit();
sqlSession.close();
}
注意:增删改需要提交事务