springboot整合mybatis
项目结构
1.pom
<?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</groupId>
<artifactId>MybatisTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<!-- SpringBoot父类 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<!-- SpringWeb组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除默认日志框架
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>-->
</dependency>
<!-- lombok 插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- mysql 依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<finalName>app2</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.11</version>
</plugin>
</plugins>
</build>
</project>
2.application.properties配置
#mysql jdbc数据源
spring.datasource.url=jdbc:mysql://localhost:3306/test1?verifyServerCertificate=false&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#配置.xml文件路径
#mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.config-locations=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:/com/mapper/*.xml
#配置模型路径
mybatis.type-aliases-package=com.entity
3,.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="callSettersOnNulls" value="true"/>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="localCacheScope" value="SESSION"/>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" />
<typeAlias alias="Long" type="java.lang.Long" />
<typeAlias alias="HashMap" type="java.util.HashMap" />
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
<typeAlias alias="ArrayList" type="java.util.ArrayList" />
<typeAlias alias="LinkedList" type="java.util.LinkedList" />
</typeAliases>
</configuration>
4.创建UserEntity实体类
package com.entity;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
/**
* @description: user表实体类
* @author: huangan
* @date: 2024/10/16 18:50
*/
@Data
@ToString
public class UserEntity implements Serializable {
private static final long serialVersionUID = -8753722206317104240L;
private String name;
private int age;
}
5.编写dao层
package com.dao;
import com.entity.UserEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
/**
*
* @description: mybatis dao层
* @author: huangan
* @date: 2024/10/16 17:25
*/
@Component
public interface UserMapper {
UserEntity getUser(@Param("name") String name);
}
6.编写userMapper.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.dao.UserMapper">
<select id="getUser" parameterType="string" resultType="com.entity.UserEntity">
select * from t_user
where name = #{name}
</select>
</mapper>
7.编写UserController
package com.controller;
import com.dao.UserMapper;
import com.entity.UserEntity;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 用户控制层
* @author: huangan
* @date: 2024/10/16 18:52
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper ;
@RequestMapping("getUser")
@ResponseBody
public Object getUser(String name) {
UserEntity user = null;
System.out.print("name:"+name);
user = userMapper.getUser(name);
return user;
}
}
8.编写项目启动类App.class
说明一下:注册mapper 有两种:1.就是在每个dao里使用@Mapper注解,2.在springboot启动写入@MapperScan注解。
3.创建Mapper文件
package com;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @description:
* @author: huangan
* @date: 2024/10/16 18:48
*/
@MapperScan(value = "com.dao")
@SpringBootApplication
public class App {
public static void main(String[] args){
SpringApplication.run(App.class);
}
}
测试接口
原文地址:https://blog.csdn.net/weixin_45863786/article/details/142990606
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!