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

mybatis1—基本搭建(springboot版)

1.首先搭建简单的springboot

创建项目过程省略。

springboot主要是有三个文件,

1.pom文件(maven依赖),

2.application.properties或application.yml(配置文件,两个文件的配置方式各不相同,具体方式自行查找),

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

1.导入maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>springboot_mybatis_demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath />
    </parent>

    <properties>
        <!-- 设置编码为 UTF-8 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- 设置jdk为1.8 -->
        <java.version>1.8</java.version>
        <spring-boot.version>1.5.9.RELEASE</spring-boot.version>
        <!--Lombok-->
        <lombok.version>1.16.20</lombok.version>
    </properties>

    <dependencies>
        <!-- Lombok依赖 -->
        <!-- 作用:方便实体类bean快速生成get set等方法 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- springboot集成junit起步依赖 -->
        <!-- 作用:可以进行用junit进行单元测试 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- 整合springMVC -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>
</project>
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<String> getTestList(){
        List<String> list = new ArrayList<>();
        list.add("测试");
        return list;
    }
    
}
5.url调用结果在这里插入图片描述
6.整体代码架构在这里插入图片描述

PS:

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

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

2.开始springboot搭建mybatis

1.导入mybatis相关依赖(在springboot基础依赖下添加以下依赖)
        <!-- springboot集成mybatis起步依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>

        <!-- mysql连接驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        
         <!-- Druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.0</version>
        </dependency>
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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huajia.mapper.UserTabMapper" >

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

    @Autowired
    private IUserTabService userTabService;

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

在这里插入图片描述

6.整体代码架构

在这里插入图片描述

3.相关源码

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建SpringBoot项目 首先,在IDE中创建一个SpringBoot项目,选择Maven作为构建工具,并在pom文件中添加SpringBootmybatis-plus的依赖。 2. 配置数据库连接 在application.properties文件中添加数据库连接信息,包括url、username、password等。 ``` spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. 创建实体类和mapper 创建实体类和对应的mapper接口,使用mybatis-plus的注解来简化SQL操作。例如: ```java @Data @TableName("user") // 表名 public class User { @TableId(value = "id", type = IdType.AUTO) // id字段自增 private Long id; @TableField("name") // name字段 private String name; @TableField("age") // age字段 private Integer age; } ``` ```java public interface UserMapper extends BaseMapper<User> { } ``` 4. 编写业务逻辑 根据具体需求编写业务逻辑代码,例如实现对用户的增删改查操作。使用mybatis-plus的CRUD方法来简化操作。 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public boolean saveUser(User user) { return userMapper.insert(user) > 0; } @Override public boolean updateUser(User user) { return userMapper.updateById(user) > 0; } @Override public boolean deleteUser(Long id) { return userMapper.deleteById(id) > 0; } @Override public User getUserById(Long id) { return userMapper.selectById(id); } @Override public List<User> getUserList() { return userMapper.selectList(null); } } ``` 5. 编写Controller层 编写Controller层代码,处理HTTP请求并调用对应的业务逻辑方法。使用@RestController注解来标注该类是一个REST风格的控制器。 ```java @RestController public class UserController { @Autowired private UserService userService; @PostMapping("/user") public Result saveUser(@RequestBody User user) { boolean result = userService.saveUser(user); return result ? Result.success() : Result.error("保存用户失败"); } @PutMapping("/user") public Result updateUser(@RequestBody User user) { boolean result = userService.updateUser(user); return result ? Result.success() : Result.error("更新用户失败"); } @DeleteMapping("/user/{id}") public Result deleteUser(@PathVariable Long id) { boolean result = userService.deleteUser(id); return result ? Result.success() : Result.error("删除用户失败"); } @GetMapping("/user/{id}") public Result getUserById(@PathVariable Long id) { User user = userService.getUserById(id); return Result.success(user); } @GetMapping("/user") public Result getUserList() { List<User> userList = userService.getUserList(); return Result.success(userList); } } ``` 6. 测试接口 启动SpringBoot应用程序,使用Postman等工具测试接口,确认接口功能正常。 以上便是搭建SpringBoot mybatis-plus项目基本流程。通过使用mybatis-plus来简化SQL操作,可以极大的提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值