栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis1---基本搭建(springboot版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis1---基本搭建(springboot版)

mybatis1—基本搭建(springboot版) 1.首先搭建简单的springboot

创建项目过程省略。

springboot主要是有三个文件,

1.pom文件(maven依赖),

2.application.properties或application.yml(配置文件,两个文件的配置方式各相同),

3.Application.java(启动类文件)

1.导入maven依赖


    4.0.0

    org.example
    springboot_mybatis_demo
    1.0-SNAPSHOT

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
        
    

    
        
        UTF-8
        UTF-8
        
        1.8
        1.5.9.RELEASE
        
        1.16.20
    

    
        
        
        
            org.projectlombok
            lombok
        
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            org.springframework.boot
            spring-boot-starter-web
        

    

2.创建yml文件

这里采用通过 spring.profiles.active=dev 来使用不同环境下的配置,即通用配置yml文件引用dev的yml配置文件

1.创建application.yml

#spring
spring:
  profiles:
    # 区分不同配置环境
    active: dev
  devtools:
    restart:
      # 热部署是否生效,true为生效,false为失效
      enabled: false
  application:
    # 应用程序名称
    name: mybatisdemo

2.创建application-dev.yml

#app
server:
  # 配置程序端口,默认为 8080
  port: 8084
  # 配置项目访问路径
  context-path: /mybatisDemo

#logging
logging:
  pattern:
    # 设置日志级别;如果设置为 WARN ,则低于 WARN 的信息都不会输出。这种方式只能将日志打印在控制台上
    level: warn
3.创建Application.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application  {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
4.创建controller类测试
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/userTab")
public class UserTabController {
    
    @GetMapping("/test")
    @ResponseBody
    public List getTestList(){
        List list = new ArrayList<>();
        list.add("测试");
        return list;
    }
    
}
5.url调用结果 6.整体代码架构

PS:

(1)类文件要放在跟启动类同级或者下一目录下,本项目为:com.laowang.sptest包下面。因为springboot默认扫描加载启动类同级或者下级目录的标签类(@RestController,@Service ,@Configuraion,@Component等),假如真需要加载其他目录的标签类,可以通过在启动上配置标签@ComponentScan(具体包)来进行扫描加载。

(2)资源文件默认放到resources下面,templates默认放的是动态文件,比如:html文件,不过要搭配thymeleaf 使用

2.开始springboot搭建mybatis 1.导入mybatis相关依赖(在springboot基础依赖下添加以下依赖)
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.1.1
        

        
        
            mysql
            mysql-connector-java
        
        
         
        
            com.alibaba
            druid-spring-boot-starter
            1.1.0
        
2.配置yml文件(在springboot基础配置下添加以下配置)
#spring
spring:
  devtools:
    restart:
      enabled: false
  # 数据库连接配置
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisdemo?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root

druid:
  # 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
  initialSize: 20
  #    最小连接池数量
  minIdle: 20
  # 最大连接池数量
  maxActive: 300
  #    配置获取连接等待超时的时间
  maxWait: 10000
  #  配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  timeBetweenEvictionRunsMillis: 60000
  #  配置一个连接在池中最小生存的时间,单位是毫秒
  minEvictableIdleTimeMillis: 300000
  #  验证连接有效与否的SQL,不同的数据配置不同
  validationQuery: select 1
  #  建议配置为true,不影响性能,并且保证安全性。
  #  申请连接的时候检测,如果空闲时间大于
  #  timeBetweenEvictionRunsMillis,
  #  执行validationQuery检测连接是否有效。
  testWhileIdle: true
  #  申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
  #  这里建议配置为TRUE,防止取到的连接不可用
  testOnBorrow: true
  #  归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
  testOnReturn: false
  #  是否缓存preparedStatement,也就是PSCache。
  #  PSCache对支持游标的数据库性能提升巨大,比如说oracle。
  #  在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。
  #  作者在5.5版本中使用PSCache,通过监控界面发现PSCache有缓存命中率记录,
  #  该应该是支持PSCache。
  #  打开PSCache,并且指定每个连接上PSCache的大小
  poolPreparedStatements: true
  maxPoolPreparedStatementPerConnectionSize: 20
  #  属性类型是字符串,通过别名的方式配置扩展插件,
  #  常用的插件有:
  #  监控统计用的filter:stat
  #  日志用的filter:log4j
  #  防御sql注入的filter:wall
  filters: stat
  # 访问的用户名
  loginUsername: ason
  # 访问的密码
  loginPassword: ason

#mybatis
mybatis:
  mapper-locations: classpath*:mapper*Mapper.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.huajia.entity
  typeEnumsPackage: com.huajia.*
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 2
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 1
    #驼峰下划线转换
    db-column-underline: false
    #刷新mapper 调试神器
    refresh-mapper: true
    #数据库大写下划线转换
    #capital-mode: true
    #序列接口实现类配置
    key-generator: com.baomidou.mybatisplus.incrementer.H2KeyGenerator
    #逻辑删除配置(下面3个配置)
    logic-delete-value: 0
    logic-not-delete-value: 1
    #自定义sql注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
    # SQL 解析缓存,开启后多租户 @SqlParser 注解生效
    sql-parser-cache: true
  configuration:
    map-underscore-to-camel-case: false
    cache-enabled: false
3.创建相关类

创建包entity、mapper、service。resources下创建mapping文件夹,用于写sql语句。

1.创建entity类UserTab

@Data
public class UserTab {

    private Integer userId;

    private String userAccount;

    private String userName;

    private String password;
}

2.创建service类

service接口类IUserTabService

public interface IUserTabService {

}

service实现类UserTabServiceImpl

@Service
public class UserTabServiceImpl implements IUserTabService {

}

3.创建mapper类UserTabMapper

@Repository
public interface UserTabMapper {

}

4.创建mapper的UserTabMapper.xml






4.创建controller方法测试
@RestController
@RequestMapping("/userTab")
public class UserTabController {

    @Autowired
    private IUserTabService userTabService;

    @GetMapping("/getUserList")
    @ResponseBody
    public List getUserList(){
        return userTabService.getUserList();
    }
}
5.url调用结果

6.整体代码架构

3.相关源码

地址:https://gitee.com/lin8081/springboot_mybatis_demo

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/735322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号