SpringBoot整合Mybatis+PageHepler
SpringBoot整合JDBC+Druid
Github:https://github.com/liuzhoujian/springboot-jdbc-mysql-jpa
1、pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--lombok可简化JavaBean的操作-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2、application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123
url: jdbc:mysql://192.168.1.4/jpa
jpa:
hibernate:
ddl-auto: update ## 更新或者创建数据表结构
show-sql: true ##打印sql在控制台
3、Entity
@Data //省略getters and setters
@Entity //告诉JPA这是一个实体类(与数据库表映射的实体类)
@Table(name = "tb_user") ///@Table来指定和哪个数据表对应;如果省略默认表名就是user
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //自增主键
private Integer id;
@Column(name = "last_name", length = 50)
private String lastName;
@Column //省略,列名默认是email
private String email;
}
4、Dao层
public interface UserReposity extends JpaRepository<User, Integer> {
}
5、UserController,省略了Service层
@RestController
public class UserController {
@Autowired
private UserReposity userReposity;
@GetMapping("/query/{id}")
public User queryUserById(@PathVariable("id") Integer id) {
Optional<User> user = userReposity.findById(id);
return user.get();
}
@PostMapping("/insert")
public User insertUser(@RequestBody User user) {
User res = userReposity.save(user);
return res;
}
}
当主程序运行起来后,底层通过Hibernate创建出表结构。