注解使用范围
在接口中使用注解可以编写较为简单是sql
而需要拼接sql时还是需要在xml中编写
示例
public interface StuMapper {
//查询
@Select("select * from tb_user")
List<Stu> findAll();
//删除
@Delete("delete from tb_user where id=#{id}")
int delectById(int id);
//增加
@Insert("INSERT INTO tb_user VALUES (NULL,#{username},#{password},#{gender},#{addr})")
int add(Stu stu);
//修改
@Update("UPDATE tb_user SET username=#{username},PASSWORD=#{password},gender=#{gender},addr=#{addr} WHERE id=#{id}")
int update(Stu stu);
在测试类中正常调用即可使用
下面仅以查询为例
@Test
public void findAll(){
//读取核心配置文件
InputStream in = test.class.getClassLoader().getResourceAsStream("sqlMapConfig.xml");
//解析核心配置获得数据库连接池
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
SqlSession session = factory.openSession();
//获取接口对象并条用查询方法
StuMapper mapper = session.getMapper(StuMapper.class);
List<Stu> stus= mapper.findAll();
for (Stu stu : stus) {
System.out.println(stu);
}
session.close();
}