版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34495753/article/details/83344008
1,建立项目在pom.xml导入jar
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qxmof</groupId>
<artifactId>springutil</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springutil</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<mysql-connector.version>5.1.38</mysql-connector.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency><!--这个事mybatis的核心包,其他都是spring boot的-->
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
2,数据库配置
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
mybatis设置
3,设置spring boot启动器初始化加载
@SpringBootApplication
@MapperScan(basePackages = {"com.qxmof.springutil.test.mapper","com.qxmof.springutil.test.service"})
public class SpringutilApplication {
public static void main(String[] args) {
SpringApplication.run(SpringutilApplication.class, args);
}
}
此处@MapperScan是加载时需要注入的包路径(建议使用注解在mapper文件上注解@Mapper将文件注入)
在配置类上添加以上注解,可以扫描dao包中的所有接口,替代在每个dao中写@Mapper注解,不过这样会提高耦合度。而@Mapper可以与dao自成一体,与@Controller、@Service遥相呼应,整体结构更优雅
@Mapper:声明一个mybatis的dao接口,会被spring boot扫描到
4,Mapper接口类
@Mapper
public interface TestMapper {
@Select("select * from es_test")
Test getById();
@Options(useGeneratedKeys= true,keyProperty = "id")//需要返回id时这样注解
int insertTest(Test test);
}
此mapper类中sql用的注解格式,也可以使用xml格式
4.1xml格式sql
<?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.qxmof.springutil.test.mapper.TestMapper">
<resultMap id="testMap" type="com.qxmof.springutil.model.Test"><!--对应数据库字段映射,type对应实体类路径-->
<result property="name" column="name"/>
<result property="age" column="age"/>
<result property="createtime" column="createtime"/>
</resultMap>
<select id="getById" resultType="testMap">
SELECT * FROM es_test
</select>
<insert id="insertTest" parameterType="String" useGeneratedKeys="true" keyProperty="id">
insert into es_test (name) value (#{name});
</insert>
</mapper>
xml和注解格式的sql选择其一即可,建议选择注解格式
5,实现层
@Service
public class ServiceTest implements IServiceTest {
@Autowired
private TestMapper testMapper;
@Override
public Test getTest1() {
return testMapper.getById();
}
}
6,接口层
public interface IServiceTest {
Test getTest1();
}
至此最简单的一个spring boot加mybatis项目构建完成