Spring Boot学习笔记(十一)SpringBoot 整合 jdbcTemplate(附带工程源码)

本文档详细介绍了如何在Spring Boot项目中整合jdbcTemplate,包括工程搭建、数据库准备、代码示例及测试过程。提供了工程源码下载链接,同时提醒读者安装Lombok插件以确保工程正常运行。
摘要由CSDN通过智能技术生成


此篇参考了 SpringBoot整合jdbcTemplate特详细教程,对代码进行了改进,添加了注释

一、准备工作

这个是我的源码:CSDN下载路径
百度网盘 提取码:fhpf
请大家注意,我安装了Lombok插件,若要运行我的工程,则也需要安装Lombok插件

1、搭建工程

为了方便学习,我们直接创建一个新的Spring Boot工程,勾选web的Spring web、Sql的Spring Data JDBC、Spring MySql Driver即可
在这里插入图片描述
此时可以点开Pom.xml,查看是否有以下依赖,没有的话可能是忘记勾选对应项目,在pom.xml中添加即可

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

在application.properties配置

下面的url 和uername,password需要根据个人进行修改(其中的jdbclearn是数据库的库)

# 服务器端口,如果不配置默认是8080端口
server.port=8096 

  # 数据库设置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jdbclearn?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456

我们添加Lombok插件
在这里插入图片描述
在pom.xml中添加以下依赖

<dependency>    
    <groupId>org.projectlombok</groupId>    
    <artifactId>lombok</artifactId>
</dependency>

2、准备数据库

安装好mysql数据库后,打开workbench
在这里插入图片描述

CREATE TABLE `tb_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `ctm` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
 
-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES ('1', '张三', '18', '2019-01-24 09:07:41');
INSERT INTO `tb_user` VALUES ('2', '李四', '20', '2019-01-24 09:07:41');
INSERT INTO `tb_user` VALUES ('3', '王五', '19', '2019-01-24 09:07:41');

3、代码示例

1. 创建实体类

import lombok.Data;
import java.util.Date;

//@data,可以简单理解为包含@Getter、@Setter、@ToString注解,
// @Getter、@Setter、@ToString的作用就是自动生成getter、setter、toString方法。
@Data
public class UserEntity {
   
    private int id;
    private String username;
    private int age;
    private Date ctm;

    public UserEntity() {
   
    }

    public UserEntity(String username, int age) {
   
        this.username = username;
        this.age = age;
        this.ctm = new Date();
    }
}

2. 创建Dao层

import java.util.List;

public interface UserDao {
   
    UserEntity getUserById(Integer id);
    public List<UserEntity> 
【资源说明】 1、基于Java+Springboot+MySQL+Thymeleaf 架构的电影聚合系统源码+数据库+项目说明.zip 2、该资源包括项目的全部源码下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于Java+Springboot+MySQL+Thymeleaf 架构的电影聚合系统源码+数据库+项目说明.zip > 一个采用 SpringBoot 架构的电影聚合 JavaWeb 项目,适用于 SpringBoot 练手项目 #### 二、运行环境 * IDEA * JDK 8 * MySQL([数据库链接:db_film](https://github.com/volewu/Film/blob/master/db_cms.sql)) #### 三、项目技术 * Spring && Spring Boot && Spring Sectuity * Spring Data Jpa * EsayUI + Bootstrap * thymeleaf * ckeditor * 运行截图 ![film](https://github.com/volewu/Film/blob/master/preview/film.gif?raw=true) ​ #### 四、姿势点 ##### 1、 SpringSecurity 中得到登入的用户名 ```html th:text="${#httpServletRequest.remoteUser}" ``` ##### 2、thymeleaf 问题 ```html /*<![CDATA[*/ 中不扫描该注释中的代码 /*]]>*/ //时间转换 ${#dates.format(film.publishDate,'yyyy-MM-dd HH:mm:ss')} ``` ##### 3、jpa 中格式化时间 [CustomDateSerializer.java](https://github.com/volewu/Film/blob/master/src/main/java/com/vole/film/util/CustomDateSerializer.java) ```java @JsonSerialize(using = CustomDateSerializer.class) public Date getPublishDate() { return publishDate; } ``` ##### 4、jpa 中 Repository 自定义方法 [WebSiteInfoRepository.java](https://github.com/volewu/Film/blob/master/src/main/java/com/vole/film/repository/WebSiteInfoRepository.java) ```java // 1 代表第一个参数 @Query(value = "select * from t_info where film_id=?1", nativeQuery = true) List<WebSiteInfo> getByFilmId(Integer filmId); ``` ##### 5、jpa 中模糊查询拼接 [FilmServiceImpl.java](https://github.com/volewu/Film/blob/master/src/main/java/com/vole/film/service/impl/FilmServiceImpl.java) ```java @Override public List<Film> list(Film film, Integer page, Integer pageSize) { Pageable pageable = new PageRequest(page, pageSize, Sort.Direction.DESC, "publishDate"); Page<Film> filmPage = filmRepository.findAll((root, criteriaQuery, cb) -> { Predicate predicate = cb.conjunction(); if (film != null) { if (Str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值