0.先推荐一个工具——lombok,pom文件如下:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>

可以使用注解@Data 编译时自动生成get,set方法,构造函数,toString方法。

@Data
@Entity
public 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=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.tomcat.max-active=100
spring.datasource.tomcat.max-idle=200
spring.datasource.tomcat.initialSize=20
spring.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
@Entity
public 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如下:

@Repository
public 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();
}
}

最新文章

  1. Node.js实现CORS跨域资源共享
  2. serv-u启动管理控制台后提示脚本错误解决方案
  3. 各大互联网公司2014前端笔试面试题–JavaScript篇
  4. oracle expdp impdp
  5. JS中用execCommand(&quot;SaveAs&quot;)保存页面兼容性问题解决方案
  6. QTP之对测试用例的自动化过程的分解
  7. java实现指定文件扫描目录
  8. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。
  9. Codeforces 834E The Bakery【枚举+数位dp】
  10. 壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
  11. 搭建微信小程序的本地测试服务器 json-server
  12. [Swift]LeetCode15. 三数之和 | 3Sum
  13. 跟我一起学python(1)
  14. HDFS的dfs.replication不同验证
  15. [原]Veracrypt使用Yubikey作为安全令牌
  16. OpenWRT路由器使用ipv6拨号上网教程
  17. unwind
  18. Git工具和GitHub的使用
  19. 如何利用JS判断当前来路域名并跳转到指定页面
  20. unity中使用自定义shader进行光照贴图烘培无法出现透明度的坑爹问题

热门文章

  1. putty+Xmanager登陆Linux,实现图形界面操作.
  2. IBatis异常: Cannot find class: VARCHAR
  3. PCB 使用第3方网站做为外链图片资源
  4. 9.9 NOIP模拟题
  5. [Swift通天遁地]六、智能布局-(4)给视图添加锚点约束
  6. maven+ssm+oracle实现简单的增删改查
  7. 如何写出网页高性能的DOM来提升网页的加载速度
  8. [转]五个Linux下用户空间的调试工具
  9. vs Could Not Connect
  10. CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码1