Springboot Jpa
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);
}
}
推荐阅读
-
springboot linux启动方式
-
Linux下部署springboot项目的方法步骤
-
springboot实现多实例crontab抢占定时任务(实例代码)
-
eclipse springboot工程打war包方法及再Tomcat中运行的方法
-
SpringBoot使用Editor.md构建Markdown富文本编辑器示例
-
IntelliJ Idea SpringBoot 数据库增删改查实例详解
-
SpringBoot与docker的结合的示例
-
SpringBoot与velocity的结合的示例代码
-
SpringBoot限制文件或图片上传大小的两种配置方法
-
springboot工程启动即执行一段代码