New Project
File -> New ->Project...

New Project
在此处选择文件本地存储位置以及JDK(8、11、17三个长期维护版本)
选择Maven进行管理
同时定义组(GroupId)和组ID(ArtfactiId)
注:如果创建完项目pom.xml的图标不是M,则右键选择“add as maven project”
依赖
pom.xml文件如下
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>PAP</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>PAP</name>
<description>PAP</description>
<properties>
<java.version>17</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>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<!-- ********************** Mybatis依赖 ********************** -->
<!--1) mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--2) Mybatis分页插件-->
<!-- ********************** Mybatis分页插件 ********************** -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
<!--3) spring整合mybatis -->
<!-- ********************** spring整合mybatis ********************** -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- ********************** MysqlJDBC驱动 ********************** -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
</project>配置文件
配置文件目录:resources/...
连接数据库以及配置mapper文件
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>
<environments default="development">
<!-- 数据库配置 -->
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/psyasssys??createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="19340778"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件,mybatis精髓 -->
<mappers>
<mapper resource="com/example/pap/mapper/UserDao.xml"/>
</mappers>
</configuration>创建好项目结构
dao层是mybatis的接口
entity层是与数据库表内对应的类字段(Lombok)
dto层是特殊封装的返回类,加入或减少一些字段,copy来进行实现
mapper层是放sql语句函数的
<!-- 如果要mapper放在java文件夹下这里需要在pom.xml下进行设置 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>service层是接口层
serviceImpl层是接口逻辑实现层
controller层是接口入口
文件目录如下:

代码示范
Controller层
注解
/*@ResponseBody //这个类的所有的方法返回的数据直接写给浏览器(如果是对象还能转为json对象)@Controller标记为Controller层*/
@RestController//等价于上面两个// Hello World示例
@RequestMapping("/test")
//访问路径为:localhost:8080/test
public String test() {
return "Hello World!";
}
// 数据库连接测试
@RequestMapping("/hello")
public String hello() {
InputStream inputStream = TextController.class.getClassLoader().getResourceAsStream("mybatis-config.xml");//读取配置文件,整合后可以放在配置里
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
System.out.println(userDao.findAll());
sqlSession.close();
return "Hello World!--quick";
}Service和ServiceImpl层
Service层
public interface SsmService {
public String SsmTest ();
}ServiceImpl层
@Service
public class SsmServiceImpl implements SsmService {
@Override
public String SsmTest() {
return "Hello Maackia!";
}
}Entity层
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
//这三个注解都是lombok的
private Integer id;
private String username;
private Integer userage;
}Dao层以及Mapper层
Dao层
public interface UserDao {
List<User> findAll();
}Mapper层
<?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.pap.dao.UserDao">
<select id="findAll" resultType="com.example.pap.entity.User">
select * from user
</select>
</mapper>