springboot之整合mybatis

 首先创建一个springboot项目

       引入 mybatis,mysql,druid log4j 依赖    (本文所用连接池是druid)

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>
 
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.1</version>
</dependency>

二 修改yml配置文件

           使用快速创建的springboot项目会自动生成一个 application.properties,本文用application.yml 文件进行配置

         修改application后缀名为yml, 并且创建 application-dev.yml

           在application.yml  添加以下内容           

spring:
  profiles:
    active: dev

server:
  port: 8090
  servlet:
    context-path: /admin     #指定访问项目名

 

    在application-dev.yml 文件中添加数据库信息

       

server:
  port: 8080        //指定项目启动的端口

spring:
  datasource:
    username: root
    password: 1234
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true                         
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource      

application.yml  和  application-dev.yml

在项目中配置多套环境的配置方法。
因为现在一个项目有好多环境,开发环境,测试环境,准生产环境,生产环境,每个环境的参数不同,所以我们就可以把每个环境的参数配置到yml文件中,这样在想用哪个环境的时候只需要在主配置文件中将用的配置文件写上就行如application.yml

笔记:在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识,比如:

application-dev.yml:开发环境
application-test.yml:测试环境
application-prod.yml:生产环境
至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
 

三、创建包

controller、entity、mapper、service。resources下创建mapping文件夹,用于写sql语句,也可以用注解的方式直接写在mapper文件里

 

        3.1 使用mybatis注解版

                     创建表结构(用户表)

CREATE TABLE `NewTable` (
`id`  int(11) NOT NULL AUTO_INCREMENT ,
`username`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT '用户名' ,
`telephone`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT '手机号' ,
`mail`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT '邮箱' ,
`password`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT '密码' ,
`dept_id`  int(11) NULL DEFAULT 0 COMMENT '部门id' ,
`status`  int(11) NOT NULL DEFAULT 0 COMMENT '用户状态 0可用 1不可用' ,
`remark`  varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '备注' ,
`opeator`  varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
`opeator_time`  timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最后一次更新时间' ,
`operator_ip`  varchar(26) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT
;

 

 

在 mapper编写测试方法

 service

 

 serviceImpl

 controller

 在项目启动类上面加上mapper路径

 

然后访问测试

 

如果出现异常  这个是时区错误

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more

解决办法:

 

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8

 

 

 

 

   

       3.2 不使用mybatis注解版(resources下创建mapper文件夹用于写sql语句)

 

  

 

 

在yml文件中加入

mybatis:
  mapper-locations: classpath:mapper/*
  type-aliases-package: com.example.mybatis.entity

 

如果需要把mapper 和 接口写在同一个包下,需要修改 配置文件

mybatis:
  mapper-locations: classpath*:com/example/mybatis/dao/*.xml
  type-aliases-package: com.example.mybatis.entity



由   mapper-locations: classpath:mapper/* 改成classpath*:com/example/mybatis/dao/*.xml

 2.修改pom文件

 

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.yml</include>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.yml</include>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>

</build>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值