美文网首页
Mybatis 注解访问数据库

Mybatis 注解访问数据库

作者: BugBigData | 来源:发表于2020-04-23 22:53 被阅读0次

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 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) {      

  System.out.println(sql);        

return sql;   

 }   

 public String updateMessage(String sql) {     

   return sql;   

 }   

 public String deleteMessage(String sql) {       

 return sql;    

     }

}

具体的流程是:示例中 getAll()方法的入参值,会传递给  @SelectProvide注解指定的类中方法内,

也就是selectAll()方法中,在方法内对入参进行组装,最后必须返回一条String 类型的sql语句,而返回值则。

5.补充:以上理解,如有错误,还请指正~

相关文章

网友评论

      本文标题:Mybatis 注解访问数据库

      本文链接:https://www.haomeiwen.com/subject/agdbihtx.html