Springboot 使用 JPA 连接 MySQL 数据库

2,264 阅读1分钟

导入JPA、MySQL、druid连接池的依赖:

pom.xml

<!-- JPA -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- MySQL 依赖 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

<!-- druid连接池依赖 -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.0.25</version>
</dependency> 

配置数据库

server.port=8080
### mysql 连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zilvbowen?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
### 用户名
spring.datasource.username=root
### 密码
spring.datasource.password=
### 驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

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

### 每次运行程序,没有表格会新建表格;有表格,表内有数据不会清空,只会更新
spring.jpa.hibernate.ddl-auto=update
### 在控制台显示sql语句
spring.jpa.show-sql=true 

注意:zilvbowen?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8这一段是用来配置mysql时区的,不加会报时区错误

配置Model

import javax.persistence.*;

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue
    private Integer id;

    @Column(length = 11)
    private String tel;

    private String email;

    private String username;

    private String password;

    public Integer getId() {
        return id;
    }

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

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    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;
    }
} 

配置Repository

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserDao extends JpaRepository<User, Integer> {
    /**
     *  Repository 支持自定义查询
     *  自定义 根据手机号查找用户
     * @param tel
     * @return
     */
    User findUserByTel(String tel);

} 

测试一下

@Test
void testSave(){
	System.out.println("aaa==========");

//		Collection<User> userCollection= userDao.findAll();

//		System.out.println(userCollection.toString());

	User user = userDao.findUserByTel("13030303030");
	System.out.println(user.toString());
	System.out.println(user.getId());
	System.out.println(user.getBirth_date());
	System.out.println(user.getCity());
	System.out.println(user.getGender());
	System.out.println(user.getIs_open_email());
}

输出结果如下图:

在这里插入图片描述

更多精彩文章关注微信公众号:java程序员聚集地。