使用idea创建项目。
相关依赖:
目录结构:
application.yml配置:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为80
port: 9999
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# 连接数满后的排队数,默认为100
accept-count: 1000
threads:
# tomcat最大线程数,默认为200
max: 800
# Tomcat启动初始化的线程数,默认值10
min-spare: 100
# 日志配置
logging:
level:
com.ruoyi: debug
org.springframework: warn
# MyBatis
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.example.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
# Spring配置
spring:
application:
#应用名称
name: service-provider
#数据库链接配置
datasource:
username: root
password: yh996112
url: jdbc:mysql://localhost:3306/yanghao?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-config.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 全局参数 -->
<settings>
<!-- 使全局的映射器启用或禁用缓存 -->
<setting name="cacheEnabled" value="true" />
<!-- 允许JDBC 支持自动生成主键 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 指定 MyBatis 所用日志的具体实现 -->
<setting name="logImpl" value="SLF4J" />
<!-- 使用驼峰命名法转换字段 -->
<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
</settings>
</configuration>
SpringBootDomeApplication启动类:
package com.example.springbootdome;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("com.example.demo")//因代码包和启动类不在一个包下,需要用此注解扫描包完成自动装配。
@MapperScan("com.example.demo.mapper")//装配mapper
@SpringBootApplication
public class SpringBootDomeApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootDomeApplication.class, args);
}
}
TestController:
package com.example.demo.controller;
import com.example.demo.doman.Test;
import com.example.demo.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/test")
public class TestController{
@Autowired
private TestService testService;
@RequestMapping("/list")
public List<Test> getList(){
List<Test> tests = testService.testList();
return tests;
}
@RequestMapping("/test")
public Test getTest(Integer id){
Test test = testService.test(id);
return test;
}
@RequestMapping("/add")
public Boolean addTest(Test test){
Boolean aBoolean = testService.addTest(test);
return aBoolean;
}
@RequestMapping("/up")
public Boolean upTest(Test test){
Boolean aBoolean = testService.upTest(test);
return aBoolean;
}
@RequestMapping("/del")
public Boolean delTest(Integer id){
Boolean aBoolean = testService.delTest(id);
return aBoolean;
}
}
Test:
package com.example.demo.doman;
import lombok.Data;
@Data
public class Test {
private Integer id;
private String name;
private Integer age;
}
TestMapper:
package com.example.demo.mapper;
import com.example.demo.doman.Test;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TestMapper {
public List<Test> selectTest();
public Test selectTestById(Integer id);
public Boolean insertTest(Test test);
public Boolean updateTest(Test test);
public Boolean deleteTest(Integer id);
}
TestService:
package com.example.demo.service;
import com.example.demo.doman.Test;
import java.util.List;
public interface TestService {
public List<Test> testList();
public Test test(Integer id);
public Boolean addTest(Test test);
public Boolean upTest(Test test);
public Boolean delTest(Integer id);
}
TestServiceImpl:
package com.example.demo.service.impl;
import com.example.demo.doman.Test;
import com.example.demo.mapper.TestMapper;
import com.example.demo.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestMapper testMapper;
@Override
public List<Test> testList() {
List<Test> tests = testMapper.selectTest();
return tests;
}
@Override
public Test test(Integer id) {
Test test = testMapper.selectTestById(id);
return test;
}
@Override
public Boolean addTest(Test test) {
Boolean aBoolean = testMapper.insertTest(test);
return aBoolean;
}
@Override
public Boolean upTest(Test test) {
Boolean aBoolean = testMapper.updateTest(test);
return aBoolean;
}
@Override
public Boolean delTest(Integer id) {
Boolean aBoolean = testMapper.deleteTest(id);
return aBoolean;
}
}
TestMapper.xml:
<?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.example.demo.mapper.TestMapper">
<select id="selectTest" resultType="com.example.demo.doman.Test">
select *
from ims_test;
</select>
<select id="selectTestById" parameterType="int" resultType="com.example.demo.doman.Test">
select *
from ims_test where id = #{id};
</select>
<insert id="insertTest" parameterType="com.example.demo.doman.Test" useGeneratedKeys="true" keyProperty="id">
insert into ims_test(name, age) values(#{name}, #{age})
</insert>
<update id="updateTest" parameterType="com.example.demo.doman.Test">
update ims_test set name=#{name},age=#{age} where id=#{id};
</update>
<delete id="deleteTest" parameterType="int">
delete from ims_test where id=#{id};
</delete>
</mapper>
启动项目,测试接口。
关注三连哦~