一、pom.xml依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties><parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
</parent><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>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies>
只需要这三个包,也必须要有这三个包,之前由于没有引mysql的包,一直报错
二、application.properties
server.port=8088
spring.datasource.url=jdbc:mysql://localhost:3306/yunlun
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapperLocations=classpath:mapper/*.xml
mybatis.typeAliasesPackage=com.entity
mapperLocations设置mybatis的mapper地址
typeAliasesPackage设置对应的实体位置
三、启动类
@SpringBootApplication
@MapperScan(“com.dao”)
public class Main {
public static void main(String[] args){
SpringApplication.run(Main.class, args);
}
}
之前没有加入@MapperScan注解,启动一直报错找不到dao,加入此注解后解决(但是在其他工程没有使用此注解也成功找到了dao,在这里就不行,不知道为什么)
四、Controller,service,serviceImp,dao,entity
@RestController
public class MainController {
@Autowired
private FileService fileService;@RequestMapping(“/test”)
public void test(){
List<Record> list = fileService.getRecord();
Record record = list.get(0);
System.out.println(record.getContents());
}}
public interface FileService {
public List<Record> getRecord();
}
@Service
public class FileServiceImp implements FileService {
@Autowired
private FileDao fileDao;@Override
public List<Record> getRecord() {
return fileDao.getRecord();
}}
public interface FileDao {
public List<Record> getRecord();
}
此处没什么需要注意的,和普通的Web工程结构一样,使用@Autowired自动注入,在Imp类使用@Service注解标记服务
五、mapper
<?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.dao.FileDao”>
<select id=”getRecord” resultType=”com.entity.Record”>
select * from hotcomment
</select>
</mapper>
namespace:命名空间,指定对应的dao类
id:对应dao类的方法
resultType:查询结果的类型,对应实体类
之前有一个大坑,浪费了我很多时间,就是在application中已经配置好了所有信息,但是启动就是报错,配置的信息不起作用,经上网查找解决
邮件方法:工程—>properties—>Source—>resources—>Excluded设置为None
以上就是在过程中遇到的问题及解决方法,记录下来,方便以后自己查看