JPA关联&Mybatis

JPA多表联查

关系映射
单向一对多关联:修改实体,添加关联对象

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "usr_id")
private Long usr_id;//用户id
@Column(name = "usr_name")
private String usr_name;//用户姓名
@Column(name = "usr_password")
private String usr_password;//用户密码

@ManyToOne(targetEntity = Role.class)
@JoinColumn(name = "usr_role_id")
private Role role;//用户关联的角色对象

修改过后的实体类中,我们添加了@ManyToOne和@JoinColumn两个注解。
*@ManyToOne注解映射多对一关联关系,targetEntity属性表示关联实体类型,可以省略。
*@JoinColumn注解映射关联的外键字段,如不指定,则生成一张新表维护两个对象之间的关系。

Spring Boot集成MyBatis(注解版)

添加关键依赖包:
任何使用方式都需要首先在pom.xml中引入mybatis-spring-boot-starter启动器,我们使用项目向导添加的依赖如下:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>

注解版的开发方式和XML版本不同,只有在构建SQL方面有所区别。
注解版在application.properties中只需要指明实体类241572101的包路径即可,其他保持不变。

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
mybatis.type-aliases-package=com.aiweiyi.ch03.entity//com.aiweiyi.ch03.entity为实体包路径

注解版最大的特点是具体的SQL语句需要使用注解写在Mapper接口中,取消了Mapper的XML配置。
具体的注解包括@Insert、@Delete、@Update、@Select、@Result、@Results等。
下面是新增用户方法的一个示例

@Insert("INSERT INTO `crm`.`sys_user` ( `usr_name`, `usr_password`)VALUES(#{usr_name},#{usr_password})")
public void Insert(User user);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值