Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库) SpringBoot 使用JDBC连接Mysql数据库

    Spring连接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库

一、在mysql中的test库中建立user表,并插入两条数据,为后续做好准备

    Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

二、在pom.xml中添加依赖

<!--JDBC-->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

    Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

三、添加配置文件配置数据库和其他参数

在resource文件夹下添加application.properties配置文件并输入数据库参数,如下:

############################################################
#
# mysql
#
############################################################
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5

    Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

四、新增实体类User.java,属性与数据库user表相对应

/**
 * @author oyc
 * @Description:用户实体类
 * @date 2018/7/8 22:51
 */
public class User {
    //用户id
    private String id;
    //用户名称
    private String name;
    //户年龄
    private String age;
    //用户性别
    private String sex;

    //此处省略getter、setter方法
}

  

    Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

五、新建测试类连接数据库

/**
 * @author oyc
 * @Description: 用户控制类
 * @date 2018/7/8 22:10
 */
@Controller
@RequestMapping("/jdbc")
public class JdbcController {

    @Resource
    private JdbcTemplate jdbcTemplate;

    @RequestMapping("/userlist")
    public String getUserList(ModelMap map){
        String sql = "SELECT * FROM user";
        List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
            User user = null;
            @Override
            public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                user = new User();
                user.setId(rs.getString("id"));
                user.setName(rs.getString("name"));
                user.setSex(rs.getString("sex"));
                user.setAge(rs.getString("age"));
                return user;
            }});
        for(User user:userList){
            System.out.println(user.getName());
        }
        map.addAttribute("users", userList);
        return "user";
    }
}

  Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

六、新增一个thymeleaf模板页面user.html用于显示用户信息列表

      Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

七、使用浏览器测试

    Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)
SpringBoot 使用JDBC连接Mysql数据库

 github:https://github.com/oycyqr/springjdbcdemo