目录
1、操作流程
2、传递多个参数
3、添加时返回递增的主键值
4、列名和属性名不一致
5、动态sql
if标签--单条件判断
choose标签 多条件分支判断
where标签
1、操作流程
(1)创建一个dao接口并定义自己需要的方法。
public interface ###Dao {
public List<###> findAll();
}
(2)创建映射文件
注意: namespace必须和dao接口一样,而且标签的id必须和你接口的方法名一样。
(3)测试
@Test
public void testFindAll()throws Exception{
Reader reader = Resources.getResourceAsReader("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session =factory.openSession();
//获取相应接口的代理对象
StudentDao studentDao = session.getMapper(StudentDao.class);
List list = studentDao.findAll();
System.out.println(list);
session.close();
}
2、传递多个参数
在dao接口中某些方法可能需要传递多个参数,例如:查询单条信息的限制条件
不加@param进行注解报的错误
3、添加时返回递增的主键值
需要返回添加数据库后的id值。
insert into tb_user values(null,#{username},#{realname})
4、列名和属性名不一致
列名和属性名不一致时, 查询的结果是null,或者某个列没有值
可以有两种解决办法:
(1) 为查询的列起别名,而别名和属性名一致。
(2)使用resultMap完成列和属性之间的映射关系。
5、动态sql
动态sql:根据参数的值,判断sql的条件。
mybatis中动态sql标签:
if标签--单条件判断
choose标签 多条件分支判断
choose标签在有一个条件满足时,就跳出,不在往下进行判断。
where标签
作用:可以自动为你添加where关键字,并且可以帮你去除第一个and |or



