SpringBoot(四)
Spring Boot入门——集成Mybatis
步骤:
1、新建maven项目
2、在pom.xml文件中引入相关依赖
<!-- mysql依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency> <!-- mybatis依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
3、在application.properties文件中添加配置信息
#mysql数据库配置 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver
4、编写Grade类
5、编写mapper
import java.util.List; import org.apache.ibatis.annotations.Select; import com.wyl.bean.Grade; public interface GradeMapper { @Select("select * from grade where grade_nm=#{name}") public List<Grade> getByGradeNm(String name); @Insert("insert into grade(grade_nm,teacher_id) values(#{gradeNm},#{teacherId})") @Options(useGeneratedKeys=true,keyColumn="id",keyProperty="id")//设置id自增长 public void save(Grade grade); }
6、编写service
7、编写Controller
8、创建启动类App.java,添加自动扫描mapper
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Hello world! * */ @SpringBootApplication @MapperScan("com.wyl.dao")//告诉mapper所在的包名 public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); SpringApplication.run(App.class, args); } }
5、测试结果
在上述结果中,输出的gradeNm字段的值为空,是由于设置接收的属性为name,可以在mapper中设置属性和数据库中字段的匹配
public interface GradeMapper { @Select("select * from grade where grade_nm=#{name}") @Results({ @Result(column="id", property="id"), @Result(column="grade_nm", property="gradeNm"), @Result(column="teacher_id", property="teacherId") }) public List<Grade> getByGradeNm(String name); }
之后结果为:
9、使用PageHelper分页插件
a、引入springboot自带的分页插件
<!-- 引入spring boot自带的pagehelper插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
@RequestMapping("/getByGradeNm2") public List<Grade> getByGradeNm2(String name){ PageHelper.startPage(1,2); //显示第一页2条数据 return gradeService.getByGradeNm(name); }
b、引入外部分页插件
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.2</version> </dependency>
新建配置类,配置pagehelper的属性
import java.util.Properties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.github.pagehelper.PageHelper; @Configuration public class MybatisConfiguration { @Bean public PageHelper pageHelper(){ PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("offsetAsPageNum","true"); properties.setProperty("rowBoundsWithCount","true"); properties.setProperty("reasonable","true"); pageHelper.setProperties(properties); return pageHelper; } }
@RequestMapping("/getByGradeNm2") public List<Grade> getByGradeNm2(String name){ PageHelper.startPage(1,2); //显示第一页2条数据 return gradeService.getByGradeNm(name); }
相关推荐
- SpringBoot 版本号(主,次,增量,发布)详解
- Spring、SpringBoot、SpringCloud区别
- 问:Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?
- spring和springboot区别
- 细说Spring、SpringBoot和SpringMVC的区别
- 【SSM+Spring】SSM(Spring+SpringMVC+Mybatis框架和SpringBoot
- 【目标识别学习笔记系列】四、Faster RCNN论文理解
- 图解java.util.concurrent源码(四) 可重入读写锁(ReentrantReadWriteLock)
- STM32 GPS悬停飞控(四)
- 蜗牛一般的UAP开发(四)树卡档案
- 基于栈的解释器执行过程(摘自《Java虚拟机:JVM高级特性与最佳实践(第2版)》8.4.3 )
- python中的装饰器