首页 > 代码库 > Spring Boot访问mysql(JPA方式)最简单配置
Spring Boot访问mysql(JPA方式)最简单配置
0.先推荐一个工具——lombok,pom文件如下:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>compile</scope></dependency>
可以使用注解@Data 编译时自动生成get,set方法,构造函数,toString方法。
@Data@Entitypublic class Account{ @Id private String id; private String account; @Column(name = "call_phone") private String phone; @Column(name = "nick_name") private String nickname; private String password; private String salt; private int userType; private String createUser; private Timestamp createTime; private int state;}
生成后的效果如下:
1.pom.xml文件下添加如下依赖,引入spring-boot-jpa的jar包,以及mysql驱动
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>
2.在/src/main/resources/application.properties中配置spring datasource及hibernate方言
(Spring boot 默认使用hibernate作为JPA的实现)
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=falsespring.datasource.username=rootspring.datasource.password=rootspring.datasource.tomcat.max-active=100spring.datasource.tomcat.max-idle=200spring.datasource.tomcat.initialSize=20spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
3.定义Entity和Repository(接口)。
Entity--Account实体类如下:
@Entity会被spring扫描并加载,
@Id注解在主键上
@Column name="call_phone" 指该字段对应的数据库的字段名,如果相同就不需要定义。数据库下划线间隔和代码中的驼峰法视为相同,如数据库字段create_time等价于Java类中的createTime,因此不需要用@Column注解。
@Data@Entitypublic class Account{ @Id private String id; private String account; @Column(name = "call_phone") private String phone; @Column(name = "nick_name") private String nickname; private String password; private String salt; private int userType; private String createUser; private Timestamp createTime; private int state;}
Repository如下:
@Repositorypublic interface AccountRepository extends JpaRepository<Account, String>{ Account findOneByAccount(String account);}
4.在其他@Component中调用
@RestController@RequestMapping("/subsystem")public class SubsystemAuthorityService{ @Autowired AccountRepository accountRepository; @PostMapping(path = "/admin/info") public String getAdminInfo(String currentAccount) { Account account = accountRepository.findOneByAccount(currentAccount); System.out.println(account); return account.toString(); }}
Spring Boot访问mysql(JPA方式)最简单配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。