一,创建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不要忘记写。