1、在pom文件中引入依赖
2、创建启动类
1 import org.mybatis.spring.annotation.MapperScan; 2 import org.springframework.boot.SpringApplication; 3 import org.springframework.boot.autoconfigure.SpringBootApplication; 4 5 /** 6 * Spring Boot启动类. 7 */ 8 @SpringBootApplication 9 @MapperScan("com.包名.*")//扫描:该包下相应的class,主要是MyBatis的持久化类.Mapper 10 public class App { 11 public static void main(String[] args) { 12 SpringApplication.run(App.class, args); 13 } 14 }
3、在application.properties添加配置文件
4、编写Demo实体类
5、编写DemoMapper接口
1 import java.util.List; 2 3 import org.apache.ibatis.annotations.Insert; 4 import org.apache.ibatis.annotations.Options; 5 import org.apache.ibatis.annotations.Select; 6 7 public interface DemoMappper { 8 9 //#{name}:参数占位符 10 @Select("select *from Demo where name=#{name}") 11 public List<Demo> likeName(String name); 12 13 14 @Select("select *from Demo where id = #{id}") 15 public Demo getById(long id); 16 17 @Select("select name from Demo where id = #{id}") 18 public String getNameById(long id); 19 20 21 /** 22 * 保存数据. 23 */ 24 @Insert("insert into Demo(name) values(#{name})") 25 @Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id") 26 public void save(Demo demo); 27 28 }
6、编写DemoService
1 import java.util.List; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.stereotype.Service; 5 import org.springframework.transaction.annotation.Transactional; 6 7 @Service 8 public class DemoService { 9 10 @Autowired 11 private DemoMappper demoMappper; 12 13 public List<Demo> likeName(String name){ 14 return demoMappper.likeName(name); 15 } 16 17 @Transactional//添加事务. 18 public void save(Demo demo){ 19 demoMappper.save(demo); 20 } 21 22 }
7、编写DemoController
1 import java.util.List; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.web.bind.annotation.RequestMapping; 5 import org.springframework.web.bind.annotation.RestController; 6 7 8 9 @RestController 10 public class DemoController { 11 12 @Autowired 13 private DemoService demoService; 14 15 @RequestMapping("/likeName") 16 public List<Demo> likeName(String name){ 17 // PageHelper.startPage(1, 2); 第一页,每页2条 18 return demoService.likeName(name); 19 } 20 21 @RequestMapping("/save") 22 public Demo save(){ 23 Demo demo = new Demo(); 24 demo.setName("张三"); 25 demoService.save(demo); 26 return demo; 27 } 28 29 }
8、添加PageHelpler--MyBatisConfiguration
1 import java.util.Properties; 2 3 import org.springframework.context.annotation.Bean; 4 import org.springframework.context.annotation.Configuration; 5 6 import com.github.pagehelper.PageHelper; 7 8 @Configuration 9 public class MyBatisConfiguration { 10 11 @Bean 12 public PageHelper pageHelper() { 13 System.out.println("MyBatisConfiguration.pageHelper()"); 14 PageHelper pageHelper = new PageHelper();
15 Properties p = new Properties(); 16 p.setProperty("offsetAsPageNum", "true"); 17 p.setProperty("rowBoundsWithCount", "true"); 18 p.setProperty("reasonable", "true");
19 pageHelper.setProperties(p); 20 return pageHelper; 21 } 22 }
在Controller中加入PageHelpler
9、获取自增长ID
在Mapper中使用@Options配置返回的主键信息;
@Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")
useGeneratedKeys=true 开启主键自增
keyProperty="id" 对应实体类属性
keyColumn="id" 对应数据库字段
----------------------------------------------------------------------------------------------------------------
application.properties配置文件
1 ######################################################## 2 ###datasource -- mysql的数据库配置. 3 ######################################################## 4 spring.datasource.url = jdbc:mysql://localhost:3306/test 5 spring.datasource.username = root 6 spring.datasource.password = root 7 spring.datasource.driverClassName = com.mysql.jdbc.Driver 8 spring.datasource.max-active=20 9 spring.datasource.max-idle=8 10 spring.datasource.min-idle=8 11 spring.datasource.initial-size=10
pom.xml文件
(1)基本依赖,jdk版本号;
(2)mysql驱动,mybatis依赖包,mysql分页PageHelper:
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>com.kfit</groupId> 6 <artifactId>spring-boot-mybatis</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 <packaging>jar</packaging> 9 10 <name>spring-boot-mybatis</name> 11 <url>http://maven.apache.org</url> 12 13 <!-- spring boot parent节点,引入这个之后,在下面和spring boot相关的就不需要引入版本了; --> 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>1.4.1.RELEASE</version> 18 </parent> 19 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 --> 24 <java.version>1.8</java.version> 25 </properties> 26 27 <dependencies> 28 29 <!-- web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、aop ........ --> 30 <dependency> 31 <groupId>org.springframework.boot</groupId> 32 <artifactId>spring-boot-starter-web</artifactId> 33 </dependency> 34 35 <!-- mysql 数据库驱动. --> 36 <dependency> 37 <groupId>mysql</groupId> 38 <artifactId>mysql-connector-java</artifactId> 39 </dependency> 40 41 <!-- 42 spring-boot mybatis依赖: 43 44 请不要使用1.0.0版本,因为还不支持拦截器插件, 45 1.1.1 是博主写帖子时候的版本,大家使用最新版本即可 46 --> 47 <dependency> 48 <groupId>org.mybatis.spring.boot</groupId> 49 <artifactId>mybatis-spring-boot-starter</artifactId> 50 <version>1.1.1</version> 51 </dependency> 52 53 54 <!-- 55 MyBatis提供了拦截器接口,我们可以实现自己的拦截器, 56 将其作为一个plugin装入到SqlSessionFactory中。 57 Github上有位开发者写了一个分页插件,我觉得使用起来还可以,挺方便的。 58 Github项目地址: https://github.com/pagehelper/Mybatis-PageHelper 59 --> 60 <dependency> 61 <groupId>com.github.pagehelper</groupId> 62 <artifactId>pagehelper</artifactId> 63 <version>4.1.0</version> 64 </dependency> 65 66 67 68 69 </dependencies> 70 </project>