Intelij IDEA SpringBoot整合Mybatis

一,创建spring boot的maven项目

File  ——>  new  ——>  project ,选择Spring Initializr

填写groupid 和 artifactid,下一步

选择项目所需依赖

选择项目名称和位置,完成创建

查看DemoprojectApplication类(即启动类)的图标,如果显示是 J 而不是 C ,则说名该项目还没有被初始化为maven项目,

只需要在项目的pom.xml文件上右键,再选择 Add as maven 即可。到此maven项目创建完成。

二,编写代码,配置数据库连接创建

在resources目录下新建application.properties文件,进行数据库的连接配置,具体内容如下(此处我用到的是h2数据库)

#1.项目启动的端口
server.port=8080
#2.数据库连接参数
#2.1jdbc驱动,示数据库厂商决定,这是h2的驱动
spring.datasource.driver=org.h2.Driver
#2.2数据库连接url
spring.datasource.url=jdbc:h2:D:/yunzhuomian/ajiot-aut
#2.3数据库账号名
spring.datasource.username=root
#2.4数据库密码
spring.datasource.password=root

分别编写controller,service和dao层代码

controller

package com.aj.lot.mybatistest.controller;

import com.aj.lot.mybatistest.entity.UserPermission;
import com.aj.lot.mybatistest.service.impl.MyServiceImpl;
import com.aj.lot.mybatistest.utils.LogUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

@RestController
public class DoController {
    @Autowired
    private MyServiceImpl myserviceimpl;
    @RequestMapping("/hello/{name}")
    public List<UserPermission> hello(@PathVariable String name) {
        return myserviceimpl.getPermission(name);
    }
}

service接口

package com.aj.lot.mybatistest.service;

import com.aj.lot.mybatistest.entity.UserPermission;
import java.util.List;

public interface MyService {
    public List<UserPermission> getPermission(String name);
}

service实现类

package com.aj.lot.mybatistest.service.impl;

import com.aj.lot.mybatistest.dao.DevicePermissionDao;
import com.aj.lot.mybatistest.entity.UserPermission;
import com.aj.lot.mybatistest.service.MyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class MyServiceImpl implements MyService {
    @Autowired
    private DevicePermissionDao devicePermissionDao;
    @Override
    public List<UserPermission> getPermission(String name) {
        return devicePermissionDao.listAllPermission(name);
    }
}

dao层

package com.aj.lot.mybatistest.dao;

import com.aj.lot.mybatistest.entity.UserPermission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;

@Mapper
public interface DevicePermissionDao {
    @Select("SELECT * FROM SYS_DEVICES_PER SDP WHERE SDP.USERNAME=#{userName}")
    List<UserPermission> listAllPermission(@Param("userName") String name);
}

其中数据库的表是我从自己的项目中选择的表,实体类也是项目中的实体类

UserPermission类

package com.aj.lot.mybatistest.entity;


public class UserPermission {

    private String id;//索引

    private String deviceName;//设备名

    private String userName;//用户名

    private boolean deviceRead;//读权限

    private boolean deviceWrite;//写权限

    private boolean deviceConfig;//配置权限

    private boolean deviceAlarm;//报警权限

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public boolean getDeviceRead() {
        return deviceRead;
    }

    public void setDeviceRead(boolean deviceRead) {
        this.deviceRead = deviceRead;
    }

    public boolean getDeviceWrite() {
        return deviceWrite;
    }

    public void setDeviceWrite(boolean deviceWrite) {
        this.deviceWrite = deviceWrite;
    }

    public boolean getDeviceConfig() {
        return deviceConfig;
    }

    public void setDeviceConfig(boolean deviceConfig) {
        this.deviceConfig = deviceConfig;
    }

    public boolean getDeviceAlarm() {
        return deviceAlarm;
    }

    public void setDeviceAlarm(boolean deviceAlarm) {
        this.deviceAlarm = deviceAlarm;
    }
}

数据表

浏览器输入地址就可得到返回的数据信息

其中需要注意的地方有

1.properties配置数据库连接的时,属性名 spring.datasource不要写错,之前没有些spring导致一直报找不到查询的表

2.相关的注解 @RestController,@Service,@Mapper不要忘记写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值