Springboot + JSP + Spring Security: 如何在MySQL中配置数据源?

Springboot + JSP + Spring Security: 如何在MySQL中配置数据源?

在大量的开发工作中,使用到的数据库种类很多。而MySQL是其中比较常用的一种,很多开发人员需要使用MySQL作为数据源来操作数据。在使用Springboot + JSP + Spring Security框架进行开发时,需要配置MySQL数据源,本文将详细介绍如何在MySQL中配置数据源。

阅读更多:MySQL 教程

准备工作

首先需要在maven中配置MySQL依赖。打开项目的pom.xml文件,添加以下依赖:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.5</version>
</dependency>

接下来在MySQL中先创建一个名为DBDemo的数据库,并创建一个名为user_info的表:

CREATE DATABASE DBDemo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE DBDemo;
CREATE TABLE user_info(
  id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(255) NOT NULL,
  password VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL
);

在此之后,即可进行MySQL数据源的配置。

数据源配置

1.在application.properties文件中配置MySQL数据源

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/DBDemo?useSSL=false
spring.datasource.username=root
spring.datasource.password=root

这里的spring.datasource.url就是MySQL数据库的连接地址,其中localhost表示使用本地数据库,3306是MySQL数据库的默认端口号,而DBDemo则是在前面MySQL中创建的数据库的名字。

2.使用Java配置方式配置MySQL数据源

@Configuration
@EnableJpaRepositories(basePackages = "com.example.demo")
@EntityScan(basePackages = "com.example.demo.entity")
public class DataSourceConfig {

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

}

这里的@Configuration表示这是一个配置类,@EnableJpaRepositories和@EntityScan分别表示开启Spring Data JPA和实体类扫描,@Bean表示生成Bean,@Primary表示当出现多个同类型的Bean进行注入时,优先选择该Bean。

配置完成后即可进行数据操作,以下为一个常用的数据访问类示例:

@Repository
@Transactional
public class UserInfoDAO {

    @Autowired
    private EntityManager entityManager;

    public void save(UserInfo userInfo) {
        entityManager.persist(userInfo);
    }

    public PageInfo<UserInfo> findAll(int page, int pageSize) {
        String hql = "FROM UserInfo";
        TypedQuery<UserInfo> query = entityManager.createQuery(hql, UserInfo.class);
        int totalRecord = query.getResultList().size();
        Pageable pageable = new PageRequest(page - 1, pageSize, Sort.Direction.ASC, "id");
        query.setFirstResult((page - 1) * pageSize);
        query.setMaxResults(pageSize);
        List<UserInfo> list = query.getResultList();
        return new PageInfo<>(page, pageSize, totalRecord, list);
    }

    public UserInfo findByUsername(String username) {
        String hql = "FROM UserInfo u WHERE u.username=:username";
        TypedQuery<UserInfo> query = entityManager.createQuery(hql, UserInfo.class);
        query.setParameter("username", username);
        List<UserInfo> list = query.getResultList();
        if(list!=null&&list.size()>0)
            return list.get(0);
        return null;
    }

}

结论

以上就是在Springboot + JSP + Spring Security框架下使用MySQL数据库的配置方法。需要注意的是,在使用之前需要先准备好了MySQL数据库,才能配置数据源。在实际开发中,也需要根据实际情况进行一些调整。希望本文对大家有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程