实现增删改查
namespace中的包名要和接口的包名一致,不过我用的idea在修改了UserDao这个文件名后,就自动提示让我修改了
编写接口(UserMapper)
User getUserById(int id);
编写对应的mapper中的sql语句(UserMapper.xml)
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
select *from mybatis.user where id=#{un};
</select>
测试
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(2);
System.out.println(user);
sqlSession.close();
}
对于增删改操作,必须要提交
sqlSession.commit();
Map:在实体类或者数据库中的表、字段或者参数过多,应该考虑使用Map
int addUser2(Map<String,Object> map);
<insert id="addUser2" parameterType="map">
insert into user (id,name,pwd)
values (#{helloId},#{helloName},#{helloPwd});
</insert>
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map=new HashMap<String, Object>();
map.put("helloId",5);
map.put("helloName","王五");
map.put("helloPwd","123456");
int res = mapper.addUser2(map);
if (res>0)
System.out.println(res);
//提交事物
sqlSession.commit();
sqlSession.close();
}
模糊查询:
1.在java代码执行的时候传递通配符
2.在sql拼接中用通配符
老师说,上面的这些都是jdbc的东西。
之后才是Mybatis的好东西,配置解析