Mybatis注解访问数据库
@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider
1.java整合SSM框架中,mybatis的使用大多是通过在Mapper接口定义方法操作 访问数据库的方法,在对应的mapper.xml文件中进行Sql的组装拼接处理,实现和数据库的交互。
2.标题中的四个注解也是mybatis提供的,是mybatis3中增加新特性。
3.示例展示:这里以 @SelectProvider为例,其他注解操作类似。
4.代码示例,如下:
控制器代码:
> @Controller
>
> @RequestMapping("/sql")
> public class SqlTestController {
>
> @Autowired
> private MySqlMapper mySqlMapper;
> @RequestMapping(value = "/exe", method = RequestMethod.POST)
> @ResponseBody
> public ResponseDto queryKind(@RequestBody List<String> list) {
> String s = ls.get(0);
> List data = mySqlMapper.selectAll(s);
> return ResponseUtil.buildVoByResponseCode(ResponseCode.CODE_SUCCESS,data);
> }
> }
Mapper代码:
public interface MySqlMapper {
//@ResultMap :内是Mapper.xml文件内的映射 <resultMap>标签内的ID的值通过制定全路径,对反参进行映射。
@ResultMap("com.xxx.xxx.xxx.CommercialPlatformManageTableMapper.BaseResultMap")
@SelectProvider(type = SqlProvider.class, method = "selectAll")
List<CommercialPlatformManageTable> getAll(String str);
}
Sql处理代码:
public class SqlProvider {
//类,必须要能够通过无参的构造函数来初始化。
// method参数指定的方法,必须是public的,返回值必须为String,可以为static。
//针对不同的数据库操作提供对应的方法
public String selectAll(String sql) {
return sql;
}
public String updateMessage(String sql) {
return sql;
}
public String deleteMessage(String sql) {
return sql;
}
}