文章目录
- 一、创建SpringBoot项目
- 二、添加Mybatis相关依赖
- 三、数据源配置
- 四、创建事务的模型实体类
- 五、创建和数据库交互联系的映射关系类
- 六、创建业务接口和实现类
- 七、创建控制器类
- 八、请求验证
一、创建SpringBoot项目
如何创建详见:IDEA 创建 SpringBoot 项目
二、添加Mybatis相关依赖
以前开发Web项目我们都知道要想把数据添加到数据库,不仅必须要数据库的驱动程序,还要有各种各样的配置文件,像java Bean配置,数据源配置,对象和数据库字段的映射配置等等。使用SpringBoot开发,我们只需要加入依赖文件就可以了,SpringBoot已经都帮我配置好了
。配置如下图所示:
<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.2.1</version>
</dependency>
三、数据源配置
在application.properties中配置数据库连接的相关信息:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:18103/db_test?characterEncoding=GBK
spring.datasource.username=root
spring.datasource.password=root
四、创建事务的模型实体类
编程是利用面向对象的思想把自然界中的事物抽象成模型,利用模型来解决实际中的问题。如下图:
package com.springboottest.bean;public class StudentBean {private int id;private String name;public StudentBean() {}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
注:这里的字段名称与数据库表字段名称一致。
五、创建和数据库交互联系的映射关系类
这个类主要是和数据进行交互联系的,需要配置好实体类和数据库字段的映射关系。由于SpringBoot已经做了大量的工作,我们只需要做好相关注解就可以使用了。如下图所示:
package com.springboottest.sql.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;@Mapper
public interface StudentMapper {@Select("select * from tb_student where name=#{name}")StudentBean getStudentInfoByName(String name);
}
@Mapper
表明该类是一个Mapper接口,使用@Select
、@Insert
等注解我们可以直接在类中书写sql语句来实现我们的目的。
六、创建业务接口和实现类
我们在接口类里定义要实现的业务功能接口,在它的实现类里实现接口。接口类如下图:
package com.springboottest.sql.service;import com.springboottest.bean.StudentBean;public interface StudentService {StudentBean getStudentInfoByName(String name);
}
实现类如下图:
package com.springboottest.sql.service;import com.springboottest.bean.StudentBean;
import com.springboottest.sql.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service
public class StudentServiceImpl implements StudentService{@Autowiredprivate StudentMapper studentMapper;@Override@Transactionalpublic StudentBean getStudentInfoByName(String name) {return studentMapper.getStudentInfoByName(name);}
}
@Service
注解表明它是一个服务类Bean,可以被SpringBoot识别使用,相当于以前在xml里配置的bean。
七、创建控制器类
Web项目的请求经过映射找到控制器类里对应的方法,然后再实现完业务返回响应信息。如下图:
package com.springboottest.controller;import com.springboottest.bean.StudentBean;
import com.springboottest.sql.MySQLProcessor;
import com.springboottest.sql.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/mysql")
public class SqlController {@Autowiredprivate StudentService studentService;@RequestMapping(value = "/student")public String studentSelect(@RequestParam String name){StudentBean bean = studentService.getStudentInfoByName(name);if(bean != null){return "Name = " + bean.getName();} else {return "null";}}
}
八、请求验证
请求地址:http://localhost:8991/mysql/student?name=tom