1、namespace
namespace中的包名要和Dao/Mapper接口的包名一致!
2、select
选择/查询 语句
- id:对应namespace中的方法名,不是包名
- resultType: Sql执行语句的返回值
- parameterType: 参数类型
1.编写接口
//根据id查询用户
User getUserById(int id);
2.编写对应的mapper中的sql语句
<select id="getUserById" resultType="com.li.pojo.User" parameterType="int">
select * from mybatis.user where id= #{id}
</select>
3.测试
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
3、insert
4、update
5、delete
6、注意点
insert
update
delete
都需要提交事务
sqlSession.commit();
7、万能map
假设我们的实体类或者数据库的表、字段、参数过多,应当考虑用map!
Map传递参数 直接在sql中取出key即可
对象传递参数 直接在sql中取对象的属性即可
只有一个基本参数的情况下,可以直接在sql中取到
多个参数用map,或者注解