SpringBoot集成Jpa,渲染html页面

SpringBoot集成Jpa,渲染html页面

 

项目架构:Springboot+Mysql+JPA+Thymeleaf,自动生成表结构,此项目只讲干货,无过多描述性文字,如需下载完整的Demo,文章底部有下载链接。

项目分为以下几步:添加所属依赖,创建数据库,创建dao层,在controller中返回页面。

第一步:创建一个springboot项目,可以使用idea进行新建也可以在start.spring.io中生成下载。

第二步添加依赖,主要依赖有:mysql连接数据库的依赖,jdbc,thymeleaf依赖,web依赖,JPa的依赖。如下:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

第三步:在application.properties中进行配置数据库链接信息

#数据库相关配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=xxx

第四步:创建User实体,省略GET.SET

@Entity
@Table(name = “t_user”) //指定生成的数据库表名称
public class User {/**
     * 设置主键,默认自增
     */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;private String userName;

private String sex;

private LocalDateTime birthDay;

 

 

第五步:创建JPA的DAO层,就是Repository这个接口。此接口继承JpaRepository,里面已经包含了很多现成的方法,无需实现,拿来就能用。同时还可以写自己的方法,写的方法可以不写实现,JPA会根据方法名自动解析,帮你实现。当然,也可以自己写sql语句进行实现,可以写普通的SQL和HQL,都可以

/**
 * 此接口默认已经完成基本的增删改查功能,还可以自己拓展
 */
@Repository
public interface UserPository extends JpaRepository<User, Integer> {/**
     * 根据方法名自动解析,无需实现
     * @param userName
     * @return
     */
    User findUserByUserName(String userName);/**
     * 指定使用的SQL,类似Myabatis@Select
     * 原生sql 查询写法
     * @param username
     * @return
     */
    @Query(value = ” SELECT * from t_user where username=:username”, nativeQuery = true)
User findUserByUsername(@Param(“username”) String username);

/**
     * 指定使用的SQL,次处是HQL
     * Hql语法 查询写法
     * @param sex
     * @return
     */
    @Query(value = “from User u where u.sex=:sex”)
User findUserBySex(@Param(“sex”) String sex);

}

 

第六步:写一个controller.里面有返回页面的,也有返回数据的,默认情况下返回数据如果是对象或者list之类的,会自动转成JSON返回。

@Controller
public class UserController {

    private Logger logger = LoggerFactory.getLogger(UserController.class);

    /**
     * 返回页面
     * @return
     */
    @RequestMapping(value = "/")
    public String index() {
        logger.info("进入index页面");
        return "index";
    }

    /**
     * 返回数据
     * @return
     */
    @ResponseBody
    @RequestMapping("/data")
    public String data() {
        return "hello World";
    }

DEMO下载地址:Demos

本站的文章多是老王开发工作中问题的记录,一个字一个字敲的,切实可行,可以分享,需要留个原文链接,至少也意思意思吧!
vsalw技术博客 » SpringBoot集成Jpa,渲染html页面

你想下载这个主题吗?

沟通一下 扯会蛋