使用Spring Boot+MyBatis+PostgreSQL来获取数据
最近的時候,雖然以前並沒有那麼苦惱過,
但最近卻意外地遇到了一些困難,
所以我寫下來作為自己的筆記。
准备
-
- 安装Java8
-
- 安装eclipse
- 安装PostgreSQL11
安装Eclipse的Spring Tool 3插件(STS)。
可以使用专用的开发工具(STS),但这次我们将使用插件。
创建Spring Boot项目
选择新项目的Spring Starter项目。
依赖关系就是这个样子的。
在压下完成后,可以开始项目的创建。
文件夹结构
创建班级
创建1-1控制器
@Controller
public class HelloController {
@Autowired
private HelloService helloService;
@RequestMapping(value="hello")
public String init(Model model) {
List<HelloBean> list = helloService.selectName();
model.addAttribute("list",list);
return "hello";
}
}
创建服务
@Service
public class HelloService {
@Autowired
private HelloMapper helloMapper;
public List<HelloBean> selectName(){
return helloMapper.selectEmpAll();
}
}
创建道。
CREATE TABLE emp_name(
id int,
name varchar(20)
)
使用上述内容创建表格。
由于是测试用途,所以主键和唯一性约束先不设置。
@Mapper
public interface HelloMapper {
List<HelloBean> selectEmpAll();
}
<?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.demo.mapper.HelloMapper">
<select id="selectEmpAll" resultType="com.demo.bean.HelloBean">
select * from
emp_name
</select>
</mapper>
制作HTML
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<th>社員番号</th>
<th>社員名</th>
</tr>
<tr th:each="emp : ${list}">
<td th:text="${emp.id}"></td>
<td th:text="${emp.name}"></td>
</tr>
</table>
</body>
</html>
环境设置
创建 MyBatis 的配置文件。
如果表的列名是蛇形命名法,将其转换为驼峰命名法,并添加配置将其与 Bean 的变量名关联起来。
这次不会特别使用,但我想记住它。
<?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="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
加载已创建的mybatis-config配置文件
package com.demo;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
@SpringBootApplication
public class SampleApplication {
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
// コンフィグファイルの読み込み
sessionFactory.setConfigLocation(new ClassPathResource("/mybatis-config.xml"));
return sessionFactory.getObject();
}
}
添加与DB的连接设置。
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/sample
spring.datasource.username=postgres #自身の環境に合わせて
spring.datasource.password=postgres #自身の環境に合わせて
已经完成了。
执行
右键单击项目,选择“运行”→“maven install”
当出现“BUILD SUCCESS”时,再次右键单击,选择“运行”→选择“Spring boot 应用程序”
在浏览器中打开 http://localhost:8080/hello。
如果可以变成这样就可以了。
所感 (Suǒ
相比于SpringMVC,设置减少了吗?一旦熟悉了就会觉得很容易理解。