SpringBoot集成Mybatis
SpringBoot集成Mybatis
十七宝宝 发表于11个月前
SpringBoot集成Mybatis
  • 发表于 11个月前
  • 阅读 94
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘自车务项目:由于个人开发的车务系统是公司第一个也是唯一一个使用SpringBoot开发的系统,因此查阅了很多资料和博客,不保证本文原创。

(1)新建一个新的Maven Project;

(2)需要在pom.xml文件添加相应的依赖,

比如:mysql驱动;

PageHelper分页插件,需要版本号;

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

 

<modelVersion>4.0.0</modelVersion>

<packaging>pom</packaging>

<name>spring-boot</name>

<modules>

<module>../spring-boot-helloworld</module>

</modules>

<groupId>com.ly</groupId>

<artifactId>spring-boot</artifactId>

<version>1.0-SNAPSHOT</version>

 

<!--

spring boot 父节点依赖,引入这个之后相关的引入就不需要添加version配置,spring boot会自动 选择最合适的版本进行添加。

-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.1.RELEASE</version>

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->

<java.version>1.8</java.version>

</properties>

<dependencies>

 

<!--

spring-boot-starter-web: MVC,AOP的依赖包....

-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- mysql 数据库驱动. -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<!--

spring-boot mybatis依赖:

请不要使用1.0.0版本,因为还不支持拦截器插件

-->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.1.1</version>

</dependency>

<!--

MyBatis提供了拦截器接口,我们可以实现自己的拦截器,

将其作为一个plugin装入到SqlSessionFactory中。

Github上有位开发者写了一个分页插件,我觉得使用起来还可以,挺方便的。

Github项目地址: https://github.com/pagehelper/Mybatis-PageHelper

-->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>4.1.0</version>

</dependency>

</dependencies>

 

</project>

(3)编写启动类,大部分和之前的代码是一样的,需要的注意的是:

需要添加一个注解@MapperScan --指定MyBatis持久类的位置;

@SpringBootApplication

@MapperScan("com.ly.hello.mapper")//扫描:该包下相应的class,主要是MyBatis的持久化类.

public class App {

public static void main(String[] args) {

SpringApplication.run(App.class,args);

}

}

(4)在application.properties添加配置文件;

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = tiger

spring.datasource.driverClassName = com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=8

spring.datasource.min-idle=8

spring.datasource.initial-size=10

(5)编写HelloController测试类;

@RestController

@RequestMapping("/hello")

public class HelloController {

@Autowired

private HelloService helloService;

 

@RequestMapping("/getPerson")

public List<Person> getPerson(){

return helloService.getPerson();

}

}

(6)编写HelloMapper;

public interface HelloMapper {

@Select("select * from person")

List<Person> getPerson();

}

(7)编写HelloServiceImpl

@Service

public class HelloServiceImpl implements HelloService {

@Autowired

private HelloMapper helloMapper;

@Override

public List<Person> getPerson() {

return helloMapper.getPerson();

}

}

(8)测试结果;

(9)加入PageHelper:

@Configuration

public class MyBatisConfiguration {

@Bean

public PageHelper pageHelper() {

System.out.println("MyBatisConfiguration.pageHelper()");

PageHelper pageHelper = new PageHelper();

Properties p = new Properties();

p.setProperty("offsetAsPageNum", "true");

p.setProperty("rowBoundsWithCount", "true");

p.setProperty("reasonable", "true");

pageHelper.setProperties(p);

return pageHelper;

}

}

@RequestMapping("/getPerson")

public List<Person> getPerson(){

PageHelper.startPage(1, 2);

return helloService.getPerson();

}

(10)获取自增长ID;

@Insert("insert into Demo(name) values(#{name})")

@Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")

public void save(Demo demo);

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 12
码字总数 6864
×
十七宝宝
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: