连接数据库的核心逻辑即完成Java对象和数据库的映射问题
如图:
看不懂没关系,我们喝杯茶,缓缓道来
1 entity就是java类,它的属性必须保持和数据库一致
// 这里就为了篇幅短一点,就简写了,就不写get set啥的了
public class User {
private Integer id;
private Character name;
private Integer age;
}
数据库
2 mapper 写方法查询数据库
public interface UserMapper {
@Select("SELECT * FROM public.User")
public List<User> find();
}
3 controller 调用mapper里的方法
public class UserController {
//因为接口不能直接调用 ,springboot提供了@Autowired注解,你可以理解为它起实例化作用 @Autowired
private UserMapper userMapper;
@GetMapping("/user") public String query(){
List<User> list = userMapper.fundAll();
System.out.println(list); return "查询用户:"+ list;
} }
具体步骤
1 application中添加全局配置
// 我这里用的是postgresql数据库 ,自己根据情况配置
spring.datasource.url=jdbc:postgresql://localhost:5432/test spring.datasource.username=postgres spring.datasource.password=123456 spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql = true server.port= 8090
2 java主应用和mapper中分别添加@MapperScan 和 @Mapper 注释 相当于告诉springboot在哪里扫描到mapper
3 最后就是上面的核心步骤了 , 把entity , mapper , controller 串起来就行了