springboot+mybatis+druid+postgreSql案例

本文介绍了如何使用SpringBoot、MyBatis和Druid搭建数据库应用,强调了MyBatis的sql语句独立性以及Druid的数据库连接池监控功能。文章详细解析了项目的结构、配置文件,并提供了各个层的代码剖析,包括entity、Dao、service、controller以及Druid的配置和启动。
摘要由CSDN通过智能技术生成

springboot+mybatis+druid+postgreSql/mysql 示例

简介

最近加入一个新的团队,发现团队开发的底层调用时通过jdbctemplate拼凑sql,不能说这个不好,但是对于开发效率来说,肯定没有orm框架使用来的6,jdbctemplate拼凑造轮子的话,大部分时间会花在轮子上,而且,压测的时候,sql的好坏,对业务代码的嵌入太深,综合考虑不划算。
其实,就现在世面主流构建来说,都是mybatis,这个主要是把sql语句独立出来了,做到了对sql语句的可控。
啥也不说,直接看项目结构:
项目结构

结构解析

application.yml:总体springboot的配置参数

spring:
  profiles:
    active: dev


# 服务端口
server:
  port: 9090
  servlet:
    context-path: /mptest


#数据库配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://192.168.100.103:5432/postgres
    username: postgres
    password: postgres
    druid:
      #初始化连接大小
      initial-size: 8
      #最小空闲连接数
      min-idle: 5
      #最大连接数
      max-active: 10
      #查询超时时间
      query-timeout: 6000
      #事务查询超时时间
      transaction-query-timeout: 6000
      #关闭空闲连接超时时间
      remove-abandoned-timeout: 1800
      filters: stat,config

#mybatis
mybatis:
  mapper-locations: classpath:com/examle/mpdemo/dao/*.xml

logback-mptest.xml: 配置日志(开发、测试、生产)

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

    <!-- 文件输出格式 -->
    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    <!-- test文件路径 -->
    <property name="TEST_FILE_PATH" value="/logs/tianjun" />
    <!-- pro文件路径 -->
    <property name="PRO_FILE_PATH" value="/logs/tianjun" />

    <!-- 开发环境 -->
    <springProfile name="dev">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <logger name="com.cmcc.tian.canal2kafka.common.ClusterCanal" level="debug"/>
        <logger name="com.cmcc.tian.canal2kafka.common.AbstractCanalClient" level="debug"/>
        <logger name="com.cmcc.tian.canal2kafka.common.CanalKafkaProducer" level="debug"/>

        <root level="info">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>

    <!-- 测试环境 -->
    <springProfile name="test">
        <!-- 每天产生一个文件 -->
        <appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${TEST_FILE_PATH}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>100</MaxHistory>
            </rollingPolicy>

            <layout class="ch.qos.logback.classic.PatternLayout">
                &l
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这里提供一个简单的SpringBoot+Mybatis接口案例。 1. 首先,创建一个SpringBoot项目,可以使用IDEA或Eclipse等集成开发环境进行创建。 2. 在pom.xml文件中添加SpringBootMybatis的依赖: ``` <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> </dependencies> ``` 其中,spring-boot-starter-web是SpringBoot的Web模块,mybatis-spring-boot-starter是MybatisSpringBoot集成模块,mysql-connector-java是MySQL的JDBC驱动。 3. 创建一个数据表,并在MySQL数据库中插入一些数据,例如: ``` CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ); INSERT INTO `user` (`name`, `age`) VALUES ('张三', 20); INSERT INTO `user` (`name`, `age`) VALUES ('李四', 25); INSERT INTO `user` (`name`, `age`) VALUES ('王五', 30); ``` 4. 创建一个实体类User,用于映射数据表中的数据: ``` public class User { private int id; private String name; private int age; // getter和setter方法省略 } ``` 5. 创建一个Mapper接口UserMapper,用于定义对User表操作的方法: ``` @Mapper public interface UserMapper { @Select("SELECT * FROM user") List<User> getAllUsers(); } ``` 其中,@Mapper注解是Mybatis提供的,可以将该接口声明为一个Mapper接口,@Select注解表示查询语句。 6. 创建一个Service接口UserService,用于调用Mapper接口中的方法: ``` public interface UserService { List<User> getAllUsers(); } ``` 7. 创建UserService的实现类UserServiceImpl,注入UserMapper接口,并实现UserService接口中的方法: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> getAllUsers() { return userMapper.getAllUsers(); } } ``` 其中,@Service注解表示该类为Spring的Service类,@Autowired注解表示自动注入UserMapper接口。 8. 创建一个Controller类UserController,用于接收前端请求并调用UserService的方法: ``` @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("/") public List<User> getAllUsers() { return userService.getAllUsers(); } } ``` 其中,@RestController注解表示该类为Spring的RestController类,@RequestMapping注解表示请求的URL,@GetMapping注解表示GET请求。 9. 运行SpringBoot应用程序,在浏览器中输入"http://localhost:8080/users/"即可访问接口,获取User表中的所有数据。 以上就是一个简单的SpringBoot+Mybatis接口案例,其中包括了数据表的创建、Mybatis的使用、Service和Controller的编写等内容,希望对你有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值