使用Spring Boot+MyBatis+PostgreSQL来获取数据

最近的時候,雖然以前並沒有那麼苦惱過,
但最近卻意外地遇到了一些困難,
所以我寫下來作為自己的筆記。

准备

    1. 安装Java8

 

    1. 安装eclipse

 

    安装PostgreSQL11

安装Eclipse的Spring Tool 3插件(STS)。

スクリーンショット 2019-04-07 18.50.53.png

可以使用专用的开发工具(STS),但这次我们将使用插件。

创建Spring Boot项目

选择新项目的Spring Starter项目。

スクリーンショット 2019-04-07 18.55.47.png

依赖关系就是这个样子的。

スクリーンショット 2019-04-07 18.56.28.png

在压下完成后,可以开始项目的创建。

文件夹结构

スクリーンショット 2019-04-07 19.43.43.png

创建班级

创建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。

スクリーンショット 2019-04-07 20.07.13.png

如果可以变成这样就可以了。

所感 (Suǒ

相比于SpringMVC,设置减少了吗?一旦熟悉了就会觉得很容易理解。

广告
将在 10 秒后关闭
bannerAds