# SpringBoot **Repository Path**: AVC_HC/springboot ## Basic Information - **Project Name**: SpringBoot - **Description**: SpringBootMybatis Spring Data Redis Spring Data JPA Hibernate Entity Management HikariCP 数据库连接池 Gradle Project MyMapper tk通用Mapper PageHelper tk分页插件 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-04-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ssm项目 > SpringBoot版本为1.5.2.RELEASE。 > > Gradle版本为3.4.1。 > > 集成了mybatis-spring-boot-starter能力,集成了HikariCp数据库连接池。 > > 引入了spring-boot-starter-data-redis > > 使用到了lombok插件,故在IDEA中开发需要开启注解能力。 > > 警告:启动项目需增加-Dspring.profiles.active=local > 需手动修改application-local.yml文件中的spring.database.url以及spring.redis.host为自己的地址。 > 若不需要redis,则将build.gradle中的compile ( 'org.springframework.boot:spring-boot-starter-data-redis' )注释即可 项目实现了零代码配置。 Application.yml文件如下: mybatis配置信息 ```yaml mybatis: type-aliases-package: com.avcdata.model // Mybatis别名目录 mapper-locations: classpath:mapper/*.xml // mapper.xml文件目录 configuration: call-setters-on-nulls: true // 若map中字段为空,依然保留key,value为null ``` 通用Mapper配置 ```Yaml mapper: #通用Mapper目录 mappers: - com.avcdata.util.MyMapper not-empty: false identity: MYSQL ``` application-local.yml配置信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3308/jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver hikari: username: root password: new.1234 max-lifetime: 1765000 maximum-pool-size: 15 minimum-idle: 2 connection-timeout: 1765000 redis: host: localhost port: 6379 database: 1 pool: min-idle: 5 max-idle: 10 logging: # 日志打印级别配置 config: classpath:logback-local.xml ``` UserService 在最近一条SQL之前,写如下代码,则可开启分页。 ```java // pageSize为每一页数量,pageNum为当前页 PageHelper.startPage(pageInfoParam.getPageSize(), pageInfoParam.getCurrentPage()); ``` 通用Mapper使用方式: > 自己的Mapper继承MyMapper > > 即可直接curd ```java userMapper.selectAll(); userMapper.insert(new User()); userMapper.delete(new User()); userMapper.updateByPrimaryKey(new User()); return userMapper.selectAll(); ``` Mybatis使用 一个Dao层的Mapper对应mapper文件夹中的xml。 namespace则为java的mapper。 其中id对应mapper的函数名。parameterType对应一个Bean,可用别名,resultType对应返回参数。 ```Xml ``` 一个Java的mapper文件 ```java package com.avcdata.dao; import com.avcdata.model.User; import com.avcdata.util.MyMapper; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * Created by huangcheng on 2017/3/24. */ //继承了通用MyMapper,则可以根据Bean实现简单的增删改查 @Mapper public interface UserMapper extends MyMapper { List query(String s); } ```