spring boot 与 mybatis集合创建项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 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,实现层

扫描二维码关注公众号,回复: 3769895 查看本文章
@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项目构建完成

猜你喜欢

转载自blog.csdn.net/qq_34495753/article/details/83344008