CRUD
create retrieve [检索]
update delete
XML文件中各标签详解
1、namespace中的地址要和mapper/dao接口保持一致。
2、id就是namespace中的方法名
3、resultType就是sql语句的执行的返回值
4、paremeterType是参数的类型
增删改查,三步,
-
编写接口,
-
编写对应mapper文件中的sql语句,
-
测试
根据条件查询
根据用户的id进行查询
package com.guanzhu.dao;
import com.guanzhu.pojo.User;
import com.guanzhu.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class UserMapperTest {
@Test
public void testGetUserById(){
//获取sqlSession
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
}
}
配置mapper文件中的查询语句
<select id="getUserById" resultType="com.guanzhu.pojo.User" parameterType="int">
select * from mybatis.user where id=#{id};
</select>
核心配置文件中的地址
<mappers>
<!-- sql映射文件的位置 "/" 分割路径 -->
<mapper resource="com/guanzhu/dao/UserMapper.xml"></mapper>
</mappers>
查询结果
插入用户
package com.guanzhu.dao;
import com.guanzhu.pojo.User;
import java.util.List;
public interface UserMapper {
//插入用户
public int addUser(User user);
}
<insert id="addUser" parameterType="com.guanzhu.pojo.User" >
<--对象中存在的属性可以直接取出来-->
insert into mybatis.user values(#{id},#{name},#{password});
</insert>
@Test
public void testAddUser(){
String resource="mybatis-config.xml";
InputStream rs = null;
SqlSession sqlSession=null;
try {
//文件转换成字节流
rs = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(rs);
sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int count = mapper.addUser(new User(4, 888, "赵六"));
if(count>0){
System.out.println("插入成功");
}
//一定要提交事务
sqlSession.commit();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (sqlSession!= null) {
sqlSession.close();
}
}
}
注意:
剩下的修改和删除也是一样的,但是要更新测试里面的Mapper文件,不然