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的主要内容,如果未能解决你的问题,请参考以下文章