IT俱乐部 Java SpringBoot用JdbcTemplates操作Mysql实例代码详解

SpringBoot用JdbcTemplates操作Mysql实例代码详解

觉得有帮助或需要源码请点赞关注收藏后评论区留言或者私信

JDBC模板是Spring对数据库的操作再JDBC基础上做了封装,建立了一个JDBC存取框架,在Spring Boot应用中,如果使用JdbcTemplate操作数据库,那么只需要在pom.xml文件中添加spring-boot-starter-jdbc模块,即可通过@Autowired注解依赖注入JdbcTemplate对象,然后调用JdbcTemplate提供的方法操作数据库

下面通过实例讲解如何在Spring Boot应用中使用JdbcTemplate操作数据库

1、创建Spring Boot Web应用

此处不再赘述 详情可参考我这篇构建Spring Boot应用

2、修改pom.xml文件

在文件中添加MYSQL连接器和spring-boot-starter-jdbc模块 具体代码如下

1
2
3
4
5
6
7
8
9
10
11
-4.0.0
-org.springframework.bootspring-boot-starter-parent2.1.7.RELEASEcom.chch6_50.0.1-SNAPSHOTch6_5Demo project for Spring Boot
-11
-
-org.springframework.bootspring-boot-starter-web
-mysqlmysql-connector-java5.1.45
-org.springframework.bootspring-boot-starter-jdbc
-org.springframework.bootspring-boot-starter-testtest
-
-
-org.springframework.bootspring-boot-maven-plugin

3、设置Web应用的上下文路径以及数据源配置信息

在application.properties文件中配置如下内容

server.servlet.context-path=/ch6_5
###
##数据源信息配置
###
#数据库地址
spring.datasource.url=jdbc:mysql://localhost:3306/springbootjpa?characterEncoding=utf8
#数据库MySQL为8.x时,url为jdbc:mysql://localhost:3306/springbootjpa?useSSL=false&serverTimezone=Asia/Beijing&characterEncoding=utf-8
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#数据库MySQL为8.x时,驱动类为com.mysql.cj.jdbc.Driver
spring.jackson.serialization.indent-output=true  
#让控制器输出的JSON字符串格式更美观

4、创建实体类

创建名为com.ch.ch6_5.entity的包 并在该包中出啊关键MyUser实体类 代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.ch.ch6_5.entity;
public class MyUser {
    private Integer id;
    private String username;
    private String password;
    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 getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

5、创建数据访问层

创建名为com.ch.ch6_5.repository的包 并创建接口和其实现类

接口代码如下

1
2
3
4
5
6
7
8
9
10
package com.ch.ch6_5.repository;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserRepository {
    public int saveUser(MyUser myUser);
    public int deleteUser(Integer id);
    public int updateUser(MyUser myUser);
    public List findAll();
    public MyUser findUserById(Integer id);
}

实现类代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.ch.ch6_5.repository;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.ch.ch6_5.entity.MyUser;
@Repository
public class MyUserRepositoryImpl implements MyUserRepository{
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public int saveUser(MyUser myUser) {
        String sql = "insert into user (username, password) values (?,?)";
        Object args[] = {
                myUser.getUsername(),
                myUser.getPassword()
        };
        return jdbcTemplate.update(sql, args);
    }
    @Override
    public int deleteUser(Integer id) {
        String sql = "delete from user where id = ? ";
        Object args[] = {
                id
        };
        return jdbcTemplate.update(sql, args);
    }
    @Override
    public int updateUser(MyUser myUser) {
        String sql = "update user set username = ?, password = ? where id = ? ";
        Object args[] = {
                myUser.getUsername(),
                myUser.getPassword(),
                myUser.getId()
        };
        return jdbcTemplate.update(sql, args);

6、创建业务层

创建名为com.ch.ch6_5.service的包 并创建接口和实现类

接口代码如下

1
2
3
4
5
6
7
8
9
10
package com.ch.ch6_5.service;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserService {
    public int saveUser(MyUser myUser);
    public int deleteUser(Integer id);
    public int updateUser(MyUser myUser);
    public List findAll();
    public MyUser findUserById(Integer id);
}

实现类代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.ch.ch6_5.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ch.ch6_5.entity.MyUser;
import com.ch.ch6_5.repository.MyUserRepository;
@Service
public class MyUserServiceImpl implements MyUserService{
    @Autowired
    private MyUserRepository myUserRepository;
    @Override
    public int saveUser(MyUser myUser) {
  
    public List findAll() {
        return myUserRepository.findAll();
    }
    @Override
    public MyUser findUserById(Integer id) {
        return myUserRepository.findUserById(id);
    }
}

7、创建控制器类

创建名为com.ch.ch6_5.controller的包 并创建MyUserController控制器类

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.ch.ch6_5.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
im
    public int updateUser(MyUser myUser) {
        return myUserService.updateUser(myUser);
    }
    @RequestMapping("/findAll")
    public List findAll(){
        return myUserService.findAll();
    }
    @RequestMapping("/findUserById")
    public MyUser findUserById(Integer id) {
        return myUserService.findUserById(id);
    }
}

接下来运行Ch65Application主类然后访问http://localhost:8080/ch6_5即可

到此这篇关于SpringBoot用JdbcTemplates操作Mysql实例代码详解的文章就介绍到这了,更多相关JdbcTemplates操作Mysql内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/java/6229.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部