页面简洁的网站,深圳广告宣传片拍摄,沈阳哪个男科医院好,产品线上营销有哪些方式目录 一、什么是MySQL数据库 二、基于SpringBoot框架连接MySQL数据库 1、首先添加MySQL依赖#xff1a; 2、配置数据库连接#xff1a; 3、创建实体类#xff1a; 4、创建Repository接口#xff1a; 5、使用Repository#xff1a; 三、编写业务SQL语句 1、使用Spring Data… 目录 一、什么是MySQL数据库 二、基于SpringBoot框架连接MySQL数据库 1、首先添加MySQL依赖 2、配置数据库连接 3、创建实体类 4、创建Repository接口 5、使用Repository 三、编写业务SQL语句 1、使用Spring Data JPA的方法命名约定 2、用Query注解你可以在Repository接口的方法上使用Query注解来编写自定义的SQL查询。 3、使用EntityManager你可以通过注入EntityManager对象来执行原生的SQL查询。 四、常见SQL语句使用附学习网站 基本的SQL语句示例包括查询、插入、更新和删除。 1、查询数据SELECT 2、插入数据INSERT 4、更新数据UPDATE 5、删除数据DELshi 使用案列登陆注册 密码加密 五、总结 博主介绍✌专注于前后端领域开发的优质创作者、秉着互联网精神开源贡献精神答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战深受全网粉丝喜爱与支持✌有需要可以联系作者我哦 文末三连哦 精彩专栏推荐订阅 不然下次找不到哟 一、什么是MySQL数据库
MySQL是一种流行的关系型数据库管理系统RDBMS它是开源的由瑞典公司MySQL AB开发。现在MySQL是Oracle公司的一部分但MySQL仍然作为开源项目继续开发和维护。
MySQL数据库具有以下特点 1. 关系型数据库管理系统RDBMSMySQL是一种关系型数据库数据以表格的形式存储这些表格可以通过关系进行连接。 2. 开源和免费MySQL是开源的意味着你可以免费使用它而且有一个庞大的开源社区支持。 3. 跨平台性MySQL支持多种操作系统包括Linux、Windows、macOS等可以在各种环境中部署和运行。 4. 高性能MySQL是一种高性能的数据库管理系统能够处理大量的数据和并发请求。 5. 可扩展性MySQL支持主从复制、分片等技术可以实现数据库的水平和垂直扩展。 6. 丰富的功能MySQL提供了许多功能包括事务支持、索引、触发器、存储过程、视图等使得它适用于各种不同的应用场景。 7.MySQL应用于Web应用程序、企业应用、移动应用等各种场景是最受欢迎的数据库管理系统之一。 二、基于SpringBoot框架连接MySQL数据库 1、首先添加MySQL依赖
在pom.xml文件中添加MySQL连接器依赖。
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.26/version !-- 根据需要选择版本 --
/dependency2、配置数据库连接
在application.properties或application.yml文件中配置MySQL数据库连接信息。
spring.datasource.urljdbc:mysql://localhost:3306/your_database_name
spring.datasource.usernameyour_username
spring.datasource.passwordyour_password
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver或者在application.yml中
spring:datasource:url: jdbc:mysql://localhost:3306/your_database_nameusername: your_usernamepassword: your_passworddriver-class-name: com.mysql.cj.jdbc.Driver3、创建实体类
创建与数据库表对应的实体类并使用JPA注解进行标记。
import javax.persistence.Entity;
import javax.persistence.Id;Entity
public class User {Idprivate Long id;private String username;private String email;// Getters and setters
}4、创建Repository接口
创建一个继承自Spring Data JPA的Repository接口。这将允许你执行数据库操作。
import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepositoryUser, Long {
}5、使用Repository
在你的服务类或控制器中注入UserRepository以便进行数据库操作。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class UserService {Autowiredprivate UserRepository userRepository;public ListUser getAllUsers() {return userRepository.findAll();}// 其他方法如保存用户删除用户等
}三、编写业务SQL语句 在使用Spring Boot时你可以使用多种方式编写SQL语句包括
1、使用Spring Data JPA的方法命名约定
Spring Data JPA允许你通过在Repository接口中定义方法名来自动生成SQL查询。例如如果你的实体类是User你可以在UserRepository接口中定义如下方法来查询用户
public interface UserRepository extends JpaRepositoryUser, Long {ListUser findByUsername(String username);
}在这个例子中Spring Data JPA会根据方法名自动生成查询语句用于根据用户名查询用户。
2、用Query注解你可以在Repository接口的方法上使用Query注解来编写自定义的SQL查询。
例如
public interface UserRepository extends JpaRepositoryUser, Long {Query(SELECT u FROM User u WHERE u.username :username)ListUser findByUsername(Param(username) String username);
}3、使用EntityManager你可以通过注入EntityManager对象来执行原生的SQL查询。
例如
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.List;Service
public class UserService {Autowiredprivate EntityManager entityManager;public ListUser findUsersByUsername(String username) {Query query entityManager.createNativeQuery(SELECT * FROM user WHERE username ?, User.class);query.setParameter(1, username);return query.getResultList();}
}在这个例子中我们使用EntityManager对象执行了原生的SQL查询然后将结果映射为User实体类的列表。
四、常见SQL语句使用附学习网站
基本的SQL语句示例包括查询、插入、更新和删除。
1、查询数据SELECT
-- 查询表中所有数据
SELECT * FROM table_name;-- 查询特定列数据
SELECT column1, column2 FROM table_name;-- 查询满足条件的数据
SELECT * FROM table_name WHERE condition;-- 查询并排序
SELECT * FROM table_name ORDER BY column_name;-- 查询并限制结果数量
SELECT * FROM table_name LIMIT 10;2、插入数据INSERT
-- 插入单行数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2);-- 插入多行数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2), (value3, value4);4、更新数据UPDATE
-- 更新表中所有数据
UPDATE table_name SET column1 new_value1, column2 new_value2;-- 更新满足条件的数据
UPDATE table_name SET column1 new_value1 WHERE condition;5、删除数据DELshi
-- 删除表中所有数据
DELETE FROM table_name;-- 删除满足条件的数据
DELETE FROM table_name WHERE condition;使用案列登陆注册
创建用户表
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL,password VARCHAR(100) NOT NULL
);用户注册插入新用户
INSERT INTO users (username, email, password) VALUES (user1, user1example.com, hashed_password);其中hashed_password是经过加密处理的密码可以使用加密算法如bcrypt对密码进行加密然后再存储到数据库中。
用户登录验证用户名和密码
SELECT * FROM users WHERE username user1 AND password hashed_password;查询将返回匹配给定用户名和密码的用户信息。请注意实际情况中应该对密码进行加密然后再进行比较以增加安全性。
密码加密
在实际应用中密码通常应该加密存储以防止数据库泄露导致密码被泄露。这里假设使用bcrypt算法进行密码加密。在Java中可以使用BCryptPasswordEncoder等库进行加密例如
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;String password user_password;
BCryptPasswordEncoder passwordEncoder new BCryptPasswordEncoder();
String hashedPassword passwordEncoder.encode(password);//然后将hashedPassword插入到数据库中。
五、总结
使用Spring Boot操作MySQL数据库的总结如下 简化开发Spring Boot提供了简洁的配置和自动化的工作流程使得在Spring应用中集成MySQL变得非常容易。它通过自动配置和约定优于配置的原则大大简化了开发人员的工作。 强大的生态系统Spring Boot构建在Spring框架之上具有庞大而活跃的社区支持和丰富的生态系统。这意味着你可以轻松地找到解决问题的文档、教程和第三方库。 快速开发和部署Spring Boot提供了内置的Web服务器如Tomcat、Jetty因此你可以直接打包应用程序并运行无需部署到外部容器。这加快了开发和部署的速度。 集成Spring Data JPASpring Boot集成了Spring Data JPA这是一个强大的数据访问框架可以极大地简化与数据库的交互。使用Spring Data JPA你可以通过定义Repository接口和方法来执行各种数据库操作而无需编写复杂的SQL语句。 自动配置数据库连接Spring Boot提供了自动配置数据库连接的功能只需在配置文件中提供数据库相关信息Spring Boot就能自动创建数据源并连接到数据库。 灵活的配置选项虽然Spring Boot提供了自动配置但你仍然可以根据需要进行自定义配置。它提供了丰富的配置选项允许你灵活地调整应用程序的行为。
优点
快速启动Spring Boot应用程序可以快速启动并且具有较低的内存消耗适合于微服务架构和云部署。简化配置Spring Boot的自动配置功能简化了配置过程减少了开发人员的工作量。丰富的生态系统Spring Boot基于Spring框架拥有丰富的生态系统和活跃的社区支持。集成Spring Data JPASpring Boot集成了Spring Data JPA简化了与数据库的交互和持久化操作。
缺点
隐藏细节虽然Spring Boot简化了开发过程但有时它会隐藏一些细节导致开发人员对底层工作原理的理解不足。学习曲线尽管Spring Boot简化了配置和开发流程但初学者可能需要花一些时间来学习Spring Boot的核心概念和最佳实践。依赖冲突由于Spring Boot自动配置了许多依赖项可能会导致依赖冲突或版本不兼容的问题需要谨慎管理依赖项。