SpringBoot +JDBC連接Mysql數據庫

SpringBoot 使用JDBC連接Mysql數據庫

    Spring連接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介紹使用最簡單、最底層的JDBC方式來連接Mysql數據庫,JDBC連接數據庫,主要是注入JdbcTemplate,使用JdbcTemplate來操作數據庫。

一、在mysql中的test庫中建立user表,並插入兩條數據,爲後續做好準備

    

建表語句如下:

CREATE TABLE `user` (
  `id` varchar(20) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `age` varchar(20) DEFAULT NULL,
  `sex` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('1', 'oyc', '18', 'male');
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('2', 'ouyang', '19', 'male');

二、在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>

三、添加配置文件配置數據庫和其他參數

在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

 

四、新增實體類User.java,屬性與數據庫user表相對應

package com.oycbest.jdbcdemo.domain;


/**
 * @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;

	//此處省略setter和getter
}

    

五、新建測試類連接數據庫

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

    @Resource
    private JdbcTemplate jdbcTemplate;

    @RequestMapping("/user")
    @ResponseBody
    public List<User> list(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.toString());
        }
        return userList;

    }

    @RequestMapping("/userList")
    public String userList(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;
            }
        });
        map.addAttribute("users", userList);
        return "user";
    }
}

六、新增一個thymeleaf模板頁面user.html用於顯示用戶信息列表

      

七、使用瀏覽器測試

    

源代碼地址:https://github.com/oycyqr/jdbcdemo/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章