决定向郑清大佬学习,把所学的记录下来,作为记忆力差的我此法甚好,感觉哈。
首先在说jpa前,之前公司一直使用的Mysql5.1版本(估计是在docker里已经配置好了的),我自己的机子因为年轻,安装的Mysql8,讲道理,一时间要改配置还真不习惯。
MySQL8配置注意
pom.xml
<!--Mysql8驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
application.yml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/study?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC&useSSL=true
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
在配置文件yml或者properties里Mysql8要注意以下几点:
zeroDateTimeBehavior=CONVERT_TO_NULL
(CONVERT_TO_NULL
而不是convertToNull
,否则要报错)serverTimezone=UTC&useSSL=true
也要添加driver-class-name: com.mysql.cj.jdbc.Driver
而不是com.mysql.jdbc.Driver
jpa基础操作使用
这里只展示对于一个User
实体存入数据库和查询表的基本操作
application.yml
##jpa极简版
jpa:
properties:
hibernate:
hbm2ddl:
auto: update
数据库结构
User
@Entity
@Data
@Table(name="user")
public class User {
public User(Integer id,String username, String password){
this.username=username;
this.password=password;
}
public User(){ };
@Id
@Column(name = "id")
private int id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
}
由于只是demo就没有使用service来操作mapper
UserMapper
@Repository
public interface UserMapper extends JpaRepository<User, Integer> {
}
SampleController
@RestController
public class SampleController {
@Autowired
UserMapper userMapper;
@ResponseBody
@RequestMapping("/")
public String home(){
/*添加数据*/
// User user=new User(1,"jili","0001");
// userMapper.saveAndFlush(user);
/*查询数据 */
List <User> list=userMapper.findAll();
return list.toString();
}
}
结果展示
每天向大佬学习,每天进步一点点,成为合格的守门人!