专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 浅谈Spring Boot配置JDBC

浅谈Spring Boot配置JDBC

更新时间:2021-02-23 17:25:25 来源:赢咖4 浏览1534次

JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。而Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。想要将JDBC整合到Spring Boot框架中就需要我们配置JDBC。本文我们就来介绍一下Spring Boot配置JDBC,帮助我们使用Spring Boot从事开发。

1、数据库表

CREATE TABLE `user`  (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

  PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

2、实体类

添加简单的User实体类,用于下面jdbc和mybatis的使用和测试。再添加一个toString方法为了测试时看结果比较简单。

public class User {



    private Integer id;



    private String username;



    private String address;



    public Integer getId() { return id; }



    public void setId(Integer id) { this.id = id; }



    public String getUsername() { return username; }



    public void setUsername(String username) { this.username = username; }



    public String getAddress() { return address; }



    public void setAddress(String address) { this.address = address; }



    @Override

    public String toString() {

        return "User{" +

                "id=" + id +

                ", username='" + username + '\'' +

                ", address='" + address + '\'' +

                '}';

    }

}

3、Maven配置

mysql版本根据自己数据库版本设置 druid为阿里云提供的数据源(可理解为连接池)

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid-spring-boot-starter</artifactId>

    <version>1.1.10</version></dependency><dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <scope>runtime</scope>

    <version>8.0.18</version></dependency>

4、数据库配置

数据库properties配置肯定是少不的啦.

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.username=username

spring.datasource.password=password

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydatabase

5、Maven依赖

添加Spring Boot提供的JDBC依赖

<dependency>

    <groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>

使用

@Servicepublic class UserService {



    @Autowired

    JdbcTemplate jdbcTemplate;



    public Integer addUser(User user) {

        return jdbcTemplate.update("insert into user (username,address) values (?,?);",

                user.getUsername(), user.getAddress());

    }



    /**

     * 查询方式一

     * 当类属性和数据库字段不对应时才这样使用

     * @return

     */

    public List<User> getAllUserFirst() {

        return jdbcTemplate.query("select * from user;", new RowMapper<User>() {

            @Override

            public User mapRow(ResultSet resultSet, int i) throws SQLException {

                User user = new User();

                int id = resultSet.getInt("id");

                String address = resultSet.getString("address");

                String username = resultSet.getString("username");

                user.setId(id);

                user.setUsername(username);

                user.setAddress(address);

                return user;

            }

        });

    }



    /**

     * 查询方式二

     * 当类属性和数据库字段对应时就这样使用啦,比上面的简洁很多

     */

    public List<User> getAllUserSecond() {

        return jdbcTemplate.query("select * from user;", new BeanPropertyRowMapper<>(User.class));

    }

}

这里需要记一下,JDBC不论新增,修改,删除都是使用update方法。而查询则是使用query。 如果数据库字段和实体类属性不一致时,则需要使用上面代码中的查询方式一 如果数据库字段和实体类属性全都一致时,则可以使用上面代码中的查询方式二,简单快捷。

6、测试

在我们整理完上述的各种配置之后当然是少不了测试的,测试类如下:

@SpringBootTestclass JdbcApplicationTests {



    @Autowired

    UserService userService;



    @Test

    public void addUser() {

        User user = new User();

        user.setUsername("johnson2");

        user.setAddress("colablog.cn");

        userService.addUser(user);

    }



    public void queryUsers() {

        List<User> allUserFirst = userService.getAllUserFirst();

        System.out.println(allUserFirst);

    }

}

如果测试成功的话也就表示我们的Spring Boot配置jdbc是正确的,基本上排除了大的毛病,也不会影响我们正常使用Spring Boot。当然,根据不同的版本,各种配置也会有细微的差别,但是只要稍加注意都不会有大的影响。在本站的JDBC教程中,还有各种JDBC实践应用相关的知识,想要熟练使用JDBC的小伙伴千万不要错过。

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>