SpringBoot整合MyBatis

Posted 波涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合MyBatis相关的知识,希望对你有一定的参考价值。

springboot整合mybatis小案例

1.导入相关依赖

 1 <dependency>
 2             <groupId>org.springframework.boot</groupId>
 3             <artifactId>spring-boot-starter-web</artifactId>
 4         </dependency>
 5 
 6         <dependency>
 7             <groupId>org.springframework.boot</groupId>
 8             <artifactId>spring-boot-starter-test</artifactId>
 9             <scope>test</scope>
10         </dependency>
11 
12         <!--freemarker支持-->
13         <dependency>
14             <groupId>org.springframework.boot</groupId>
15             <artifactId>spring-boot-starter-freemarker</artifactId>
16         </dependency>
17 
18         <!-- mysql驱动 -->
19         <dependency>
20             <groupId>mysql</groupId>
21             <artifactId>mysql-connector-java</artifactId>
22         </dependency>
23 
24         <!--整合mybatis-->
25         <dependency>
26             <groupId>org.mybatis.spring.boot</groupId>
27             <artifactId>mybatis-spring-boot-starter</artifactId>
28             <version>1.1.1</version>
29         </dependency>

2.application.properties

1 spring.datasource.url=jdbc:mysql://localhost:3306/bookshop
2 spring.datasource.username=root
3 spring.datasource.password=123
4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3.entity层

 1 public class Book {
 2 
 3     private Integer bookid;
 4 
 5     private String bookname;
 6 
 7     private Integer bookprice;
 8 
 9    
10 }

4.mapper层

1 public interface BookMapper {
2 
3     @Select("select * from book where bookname=#{bookname}")
4     public Book findByName(@Param("bookname") String bookname);
5 
6     @Insert("insert into book(bookname,bookprice) values (#{bookname},#{bookprice})")
7     public int insertBook(@Param("bookname") String bookname,@Param("bookprice") Double bookprice);
8 }

5.controller层 

 1 @RestController
 2 public class BookController {
 3     @Autowired
 4     private BookMapper bookMapper;
 5 
 6     @RequestMapping("findByName")
 7     public Object findByName(String bookname){
 8         return bookMapper.findByName(bookname);
 9     }
10 
11     @RequestMapping("insert")
12     public String insert(String bookname,Double bookprice){
13         bookMapper.insertBook(bookname,bookprice);
14         return "success";
15     }

 6.启动类上加入  @MapperScan(basePackages = {"cn.happy.mapper"})  扫描mapper包下文件

 

@RestController和@Controller的区别

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

例如:本来应该到success.jsp页面的,则其显示success.

 

2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

 

7.启动项目

查询指定图书

 

 

 添加图书

 

以上是关于SpringBoot整合MyBatis的主要内容,如果未能解决你的问题,请参考以下文章

springboot整合mybatis,redis,代码

SpringBoot系列Mybatis整合

SpringBoot系列Mybatis整合

springboot整合mybatis开发

18.springboot整合mybatis

SpringBoot:4.SpringBoot整合Mybatis实现数据库访问