5. 公共组件

目录

1. 创建工程结构

2. 配置数据源

2.1 pom.xml 中引用依赖

2.2 application.yml 中添加配置

2.3 测试

3. 编写类与映射文件

3.1 根据数据库编写实体类

3.2 编写映射文件xxxMapper.xml

3.3 编写Dao类,xxxMapper.java

4. 生成类与映射文件

4.1 pom.xml 中引用依赖

4.2 创建 generatorConfig.xml

4.3 添加 @Mapper 注解

4.4 扫描配置

5. 测试

6. 编写公共代码

6.1 定义状态码

6.2 定义返回结果


1. 创建工程结构

在Java目录下创建包,在Resources目录下创建文件夹,结构如下:

5. 公共组件_第1张图片

2. 配置数据源

2.1 pom.xml 中引用依赖

统一管理版本,在properties标签中加入版本号:


5.1.49

2.3.0

1.2.16
添加依赖,在dependencies标签中加入相关依赖:


 mysql
 mysql-connector-java
 ${mysql-connector.version}



 org.mybatis.spring.boot
 mybatis-spring-boot-starter
 ${mybatis-starter.version}



 com.alibaba
 druid-spring-boot-starter
 ${druid-starter.version}

2.2 application.yml 中添加配置

在 spring 节点下添加数据源配置项:
 datasource:
  url: jdbc:mysql://localhost:3306/forum_db?characterEncoding=utf8&useSSL=false
  # 数据库连接串
  username: root # 数据库⽤⼾名
  password: 123456 # 数据库密码
  driver-class-name: com.mysql.cj.jdbc.Driver # 数据库连接驱动

2.3 测试

在 test --> java 目录下创建测试类 ForumApplicationTests ,写入如下代码,并右键运行:
@SpringBootTest
class ForumApplicationTests {

	@Resource
	private DataSource dataSource;
	@Test
	public void testConnection () throws SQLException {
		System.out.println("dataSource = " + dataSource.getClass());
		//获取数据连接
		Connection connection = dataSource.getConnection();
		System.out.println("connection = " + connection);
		System.out.println("connection Class = " + connection.getClass());
	}
	@Test
	void contextLoads() {
		System.out.println("TEST: 基于 Spring 的前后端分离的论坛系统");
	}

}

出现以上测试结果说明测试成功。

3. 编写类与映射文件

3.1 根据数据库编写实体类

5. 公共组件_第2张图片

3.2 编写映射文件xxxMapper.xml

5. 公共组件_第3张图片

3.3 编写Dao类,xxxMapper.java

5. 公共组件_第4张图片

4. 生成类与映射文件

4.1 pom.xml 中引用依赖

统一管理版本,在 properties 标签中加入版本号:

5. 公共组件_第5张图片

在 build --> plugins 标签中加入如下配置:


 org.mybatis.generator
 mybatis-generator-maven-plugin
 ${mybatis-generator-plugin-version}
 
 
 Generate MyBatis Artifacts
    deploy
     
         generate
     
 
 
 
 
 
 true
 
 true
 
 
 src/main/resources/mybatis/generatorConfig.xml
 
 

4.2 创建 generatorConfig.xml

在 src/main/resources下创建mybatis目录,在mybatis目录下创建 generatorConfig.xml 文
件,内容如下:



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

4.3 添加 @Mapper 注解

dao包下的每个 xxxMapper.java 添加 @Mapper注解。

4.4 扫描配置

config 包下新建 MybatisConfig 类,指定Mybatis的扫路径。
//配置类
@Configuration
//指定Mybatis的扫描路径
@MapperScan("com.example.demo.dao")
public class MybatisConfig {

}
application.yml中加⼊mybatis配置:
# mybatis 相关配置,单独配置,顶格写
mybatis:
 mapper-locations: classpath:mapper/**/*.xml # 指定 xxxMapper.xml的扫描路径

5. 测试

目标文件布局如下图所示:

5. 公共组件_第6张图片

 编写测试代码进行测试:

@SpringBootTest
class ForumApplicationTests {

	@Resource
	private DataSource dataSource;

	@Resource
	private ObjectMapper objectMapper;
	@Resource
	private UserMapper userMapper;

	@Test
	public void testMybatis() throws JsonProcessingException {
		User user = userMapper.selectByPrimaryKey(1l);
		System.out.println(objectMapper.writeValueAsString(user));
	}
	@Test
	public void testConnection () throws SQLException {
		System.out.println("dataSource = " + dataSource.getClass());
		//获取数据连接
		Connection connection = dataSource.getConnection();
		System.out.println("connection = " + connection);
		System.out.println("connection Class = " + connection.getClass());
	}
	@Test
	void contextLoads() {
		System.out.println("TEST: 基于 Spring 的前后端分离的论坛系统");
	}

}
运行结果如下图所示:

6. 编写公共代码

6.1 定义状态码

对执行业务处理逻辑过程中可能出现的成功与失败状态做针对性描述,用 枚举 定义状态码,先定义一部分,业务中遇到新的问题再添加。

这里的状态码是描述程序执行过程中可能出现的问题描述。

5. 公共组件_第7张图片

新建 common 包,在 common 包下创建枚举类型命名为ResultCode。

6.2 定义返回结果

系统实现前后端分离,统一返回 JSON 格式的字符串,需要定义一个类,其中包含状态码,描述信息,返回的结果数据。

在 common 包下,创建 AppResult 类。 

你可能感兴趣的:(项目,spring,boot,后端,java)