学习Spring boot 数据库连接
来源:互联网 发布:淘宝快快比 编辑:程序博客网 时间:2024/06/05 14:00
1、配置文件内容
spring: profiles: active: dog datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dogs username: root password: 123456 jpa: hibernate: ddl-auto: update show-sql: true配置spring.datasource,配置jpa,jpa是为了对数据库进行持久化的支持,ddl-auto的值决定了实体类与数据库表之间的关系,它的值有:
1)、create,只要程序启动,就会创建新的表,不管表是否已经存在,会删除已存在的表。
2)、update,程序启动时更新表结构,但不会删除已存在的数据。
3)、create-drop,当程序停止时,删除表。
4)、none,什么都不做。
5)、validate,验证类的属性与表结构是否一致,不一致就报错。
2、实体类的写法
实体类需要加上@Entity的注解,id用@Id注解修饰,可以加上@GeneratedValue来实现自动增加。实体类需要有一个空的构造方法,并且所有的属性要有get和set方法。
@Entitypublic class Dog { @Id @GeneratedValue private Integer id; private Integer age; private String type; private String favorite;
3、数据库操作接口JpaRepository
关键接口,每一个类的操作接口都要继承它,如下:
public interface DogRepository extends JpaRepository<Dog , Integer>{}
模板参数第一个是实体类的类型,第二个是主键的类型,只需要这样的配置,就可以直接使用这个接口。
在需要使用的Controller中添加代码
@Autowiredprivate DogRepository dogRepository;
就可以使用它进行数据库的简单操作了,如果不按Id进行查询,可以在接口中增加以下代码
List<Dog> findByAge(Integer age);
注意方法的名称规范,findBy后面跟的一定要是你的实体类中有的属性名,首字母大写,就可以直接使用了。
如果涉及到多表查询或者复杂查询的话,需要自己写sql的,可以使用@Query注解,在你自己写的Repository中增加方法:
@Query("select t from Dog t where t.type = ?1 and t.age = ?2")Dog findByTypeAndAge(String type, Integer age);
这是根据类型和年龄进行查找。
@Query的用法还有很多,比如like的写法:
@Query(value = "select * from dog t where t.type like %:type% and t.age = :age" , nativeQuery = true)List<Dog> findByTypeAndAge(@Param("type") String type , @Param("age") Integer age);
这里的nativeQuery为true表示使用与当前数据库匹配的sql语句,而不是用hql。而@Param则是将参数注入到sql语句中,sql语句中用冒号+参数名的方式写。
- 学习Spring boot 数据库连接
- spring boot(6) 使用数据库连接池druid
- Spring Boot [使用 Druid 数据库连接池]
- Spring boot 数据库连接断线重连
- spring-boot结合mysql配置数据库连接池
- Spring Boot [使用 Druid 数据库连接池]
- Spring boot 学习知识点
- spring-boot学习
- Spring Boot 学习(一)
- spring-boot学习笔记
- Spring Boot学习笔记
- spring-boot 深入学习
- spring -boot 搭建学习
- spring boot示例学习
- Spring Boot 学习
- Spring Boot学习笔记
- spring boot 入门学习
- spring boot 学习笔记
- iOS 第三发库的管理,podfile的升级
- git | github 实践
- 关于ElementsUi 日期选择器 DatePicker 使用小心得
- HTTP面试相关
- Spring AOP之@Aspect
- 学习Spring boot 数据库连接
- poj_1845_求所有a^b的所有因子和
- OpenCV3.2+Qt5.8.0+Win10配置和使用----(2)CMake的安装
- Spring AOP简单的配置(注解和xml配置)
- 自动生成带Optional方法的派生Bean类,对Mybatis反向工程结果的加强
- SVN在线安装
- 学习常用系统类、包、访问控制符
- Centos 7安装时间校对服务
- TeamViewer 连接问题