欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Springboot Jpa

程序员文章站 2022-04-25 16:29:53
...


mysql
mysql-connector-java


org.springframework.boot
spring-boot-starter-data-jpa

/* application.properties 配置文件 */

配置方言 否则提示:Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect’ not set

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect

自动更新数据库表结构,也可以是 validate | update | create | create-drop

spring.jpa.properties.hibernate.hbm2ddl.auto=update

显示sql语句

spring.jpa.show-sql=true

/* 初始类 不用动*/
@SpringBootApplication
public class SpringbootanddataApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootanddataApplication.class, args);
}
}

/* model 实体类 /
@Entity /
是一个必选的注解,声明这个类对应了一个数据库表 */
@Table(name=“user”)
/是一个可选的注解。声明了数据库实体对应的表信息包括表名称、索引信息等。这里声明这个实体类对应的表名是 user。如果没有指定,则表名和实体的名称保持一致/
public class User {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String name;
private Integer age;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public Integer getAge() {
    return age;
}

public void setAge(Integer age) {
    this.age = age;
}

@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", age=" + age +
            '}';
}

}
/* 持久层 /
@Repository /
继承 JpaRepository /
public interface UserMapper extends JpaRepository<User ,Integer> {
User findById(Integer id);/
注意 方法名是固定的 自己的按规定来写*/
}

/* service 接口 跟持久层的 方法名一致*/
public interface UserService {
User findByid(Integer id);
}

/* service 实现类*/
@Service
@Transactional/增删改 操作必须要事物管理 不然 jpa 报错/
public class UserServiceImpl implements UserService {
@Autowired /* 注入mapper接口 */
private UserMapper userMapper;

@Override
public User findByid(Integer id) {
    /* 调用mapper接口中的方法 */
    return userMapper.findById(id);
}

}
/* 测试类 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootanddataApplicationTests {

@Autowired
private UserService userService;
@Test
public void contextLoads() {
    User user = userService.findByid(1);
    SysStem.out.println(user);
}

}

相关标签: springbootjpa