`

152. Spring Boot MyBatis升级篇-XML-注解-初尝试

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

需求缘起

       在前面算是比较详细的介绍了mybatis的使用,那么我们会有疑问,XML配置方式和注解方式是否共同使用呢?博主也不知道可不可以,只能尝试下。

 

尝试前准备

       我们spring-boot-mybatis-xml这个项目的代码,复制一份出来,取名为:spring-boot-mybatis-xml-annotation,我们会发现xml的项目中,对于注解方式的都已经配置好了,所以我们直接编码测试即可,无需做任何修改。

 

尝试1:查询所有

       我们新建一个Mapper类,DemoMapper2,这里使用注解的方式进行使用:

package com.kfit.demo.mapper;
 
import java.util.List;
 
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;
import com.kfit.demo.bean.Demo;
 
/**
 * 测试注解和xml是否可以并存.
 * @author Angel --守护天使
 * @version v.0.1
 * @date 2017年8月17日
 */
public interface DemoMapper2 {
   
    @Select("select *from demo")
    public List<Demo> selectAll();
   
    @Insert("insert into demo(name) values(#{name})")
    @Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")
    public int save(Demo demo);
}

 

       然后在DemoService注入DemoMapper2并且添加方法:

@Autowired
private DemoMapper2 demoMapper2;
public List<Demo> demoMapper2_selectAll(){
       return demoMapper2.selectAll();
}

 

       接着在DemoController添加访问方法:

@RequestMapping("/demoMapper2_selectAll")
    public List<Demo> demoMapper2_selectAll(){
       return demoService.demoMapper2_selectAll();
}

 

       Ok,到这里就可以进行测试了,访问:

http://127.0.0.1:8080/demoMapper2_selectAll 是不是能返回所有的数据,答案是可以:

{

   id7,

   name"王五2",

}//省略… 

 

尝试2:分页查询

       分页查询,我们只需要修改下DemoMapper中的请求方法:

 

@RequestMapping("/demoMapper2_selectAll")
    public List<Demo> demoMapper2_selectAll(intpageNum){
       PageHelper.startPage(pageNum,2);
       return demoService.demoMapper2_selectAll();
}

 

 

访问http://127.0.0.1:8080/demoMapper2_selectAll?pageNum=1 测试,可以进行分页查询。

 

尝试3:添加数据

       DemoMapper2添加一个一个保存数据的方法进行测试:

    @Insert("insert into demo(name) values(#{name})")
    @Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")
    public int save(Demo demo);

 

       //省略service and controller代码

       访问:http://127.0.0.1:8080/demoMapper2_save?name=demoMapper2_save

可以看到:{"id":38,"name":"demoMapper2_save" }

说明保存也没有问题。

结论:

       从上面的测试我们可以看出,我们可以使用XML方式进行开发,也可以使用注解方式进行开发,但是一般在一个项目中最好是统一风格,比较好管理。

 

视频&交流平台

à SpringBoot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics