Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring Boot(一)—— JPA & MySQL #242

Open
soapgu opened this issue May 9, 2024 · 0 comments
Open

Spring Boot(一)—— JPA & MySQL #242

soapgu opened this issue May 9, 2024 · 0 comments

Comments

@soapgu
Copy link
Owner

soapgu commented May 9, 2024

  • 安装MySql

略,这里我用brew安装。
不选择开机自启动
安装成功后说明

We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
    mysql -u root

To start mysql now and restart at login:
  brew services start mysql
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/mysql/bin/mysqld_safe --datadir=/opt/homebrew/var/mysql

这里建议要先执行mysql_secure_installation,这样数据库更安全点
我执行一下,主要是关闭远端访问和设置用户的密码。

我这里用mysql.server启动

guhui@guhuideMacBook-Pro ipad % mysql.server start
Starting MySQL
.. SUCCESS! 
  • 项目&依赖设置

图片 这里的Server URL要改https://start.aliyun.com

依赖设置如下
图片

配置文件application.properties设置如下
图片
这里还有spring.jackson.date-format的配置这是一个小坑,后面讲

  • 代码实现过程

  1. Controller
    这里用web请求访问的入口,使用@RestController注解。
    这里所有的方法都会自动加上 @responsebody注解

  2. Service
    这里使用@service ,这里实现业务逻辑层

3.Entity
如果是mysql就是table的映射。
使用@entity@id等注解
当然数据库等表名也能改,比如@table(name = "custom_student_table")

  1. Repository
    数据库操作类,这里我们继承了Repository<T, ID>

相关文档

  1. 查询语句编写

Repository已经帮我们实现了基础的CURD操作。
不过有一些查询语句需要自己写,排序筛选等等。
需要编写SQL语句吗,不需要!已经是ORMapping的时代,以前C#的Linq就不错。
那么JAVA怎么实现的那
JPA已经帮我们实现了很多查询语句的映射和协定
比如findByUserId就是select * from where userid={userid}
还支持排序List findByLastnameOrderByFirstnameAsc(String lastname);
基本已经比较完善,而且IDE还能帮忙生成,基本可以少翻文档完成。

详细的规则可以看参考文档

Spring Boot在所有内部日志中使用Commons Logging,底层则默认使用Logback。暂时不过于深入了。

-Commons Logging Document

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant