您当前的位置: 首页 >  ui

xiangzhihong8

暂无认证

  • 0浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringDataJPA+EasyUi实现CRUD操作

xiangzhihong8 发布时间:2018-03-21 15:16:20 ,浏览量:0

Spring Data JPA

JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术。

Spring Data JPA是Spring基于Hibernate开发的一个JPA框架,Spring Data JPA 是Spring Data 的一个子项目,它通过提供基于JPA的Repository极大地减少了JPA作为数据访问方案的代码量。

项目构建

使用IntelliJ IDEA 创建SpringBoot项目,如下图: 这里写图片描述 点击Next,输入必要参数,然后选择web,MySQL,JPA组件作为我们开发必备组件,然后点击Next即可完成项目的创建,如下图: 这里写图片描述 完成后项目的结构如下图: 这里写图片描述

pom.xml

pom文件是项目构建过程中依赖的一些文件,内容如下:



    4.0.0

    com.xzh.jpa
    demo
    0.0.1-SNAPSHOT
    jar

    demo
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.0.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

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

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

application.yml

在 Spring Boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置Spring Boot 项目中的一些变量的定义、参数的设置等。如果采用application.yml的方式,配置如下:

spring:
    datasource:
        driver-class-name:  com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/jpa
        username: root
        password: 12345678

    jpa:
        hibernate:
            ddl-auto: update
            show-sql: true

如果采用application.properties方式,application.properties的配置信息需要写完整。

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dbgirl?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

spring.jpa.show-sql= true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jackson.serialization.indent_output=false
generatorConfig.xml

选择File-New->generatorConfig,创建一个generatorConfig.xml文件。 这里写图片描述

当然,本项目中需要去掉自动生成的注释,所以需要将下面的字段修改为true。

然后需要对jdbcConnection段进行配置

如果需要使用MyBatis的字段映射功能,还需要配置具体的表选项。例如下面是一个简单的配置。




    
    

     
     
            
            
        

        
        
        
        
        
        
    

接着使用生成的generatorConfig.xml,自动生成bean、mapper、mapper xml文件。 这里写图片描述 生成的项目目录结构如下: 这里写图片描述

Dao

SpringBoot创建DAO层很多种方法其中japrepository是最强大的而且最有特色的一种,我们可以针对不同的实体创建repository接口。在SpringBoot中默认已经提供了非常多的常规CRUD操作的repository,以下就是Spring为我们提供的repository接口。 这里写图片描述

SpringBoot真的是非常体贴,大大减低了我们的工作量。我们通过继承JpaRepository接口,除了可以获得上面的基础CRUD操作方法之外,还可以通过Spring规定的接口命名方法自动创建复杂的CRUD操作,以下是我在Spring Data JPA 文档中找到的命名规则表,关于这方面的内容大家可以去下面的地址去详细了解: https://www.cnblogs.com/toSeeMyDream/p/6170790.html

这里写图片描述

Service

Service主要用于提供对外数据访问,本部分内容如下:

public interface UserService {

    /**
     * 保存用户信息
     * @param tUser
     * @return
     */
    TUser save(TUser tUser);


    /**
     * 根据Id删除用户
     * @param id
     * @return
     */
    TUser deleteById(Integer id);

    /**
     * 根据Id查找用户
     * @param id
     * @return
     */
    TUser findById(Integer id);

    /**
     * 查找全部用户
     * @return
     */
    List findAll();

    /**
     * 分页获取
     * @param pageable
     * @return
     */
    Page findAll(Pageable pageable);
}
public class UserServiceImp implements UserService {

    @Override
    public TUser save(TUser tUser) {
        return null;
    }

    @Override
    public TUser deleteById(Integer id) {
        return null;
    }

    @Override
    public TUser findById(Integer id) {
        return null;
    }

    @Override
    public List findAll() {
        return null;
    }

    @Override
    public Page findAll(Pageable pageable) {
        return null;
    }
}
Control层

Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果。 本例的Controller代码如下:

@Controller
@RequestMapping("/user")
public class UserController {


    private UserService userService;

    //首页
    @RequestMapping("/index")
    public String index(){
        return "/user/index";
    }


    //保存用户信息
    @ResponseBody
    @RequestMapping("/save")
    public Map save(TUser user){
        Map result=new HashMap();
        userService.save(user);
        result.put("success", true);
        return result;
    }

    //删除用户信息
    @ResponseBody
    @RequestMapping("/delete")
    public Map delete(@RequestParam(value = "ids")String ids){
        Map result=new HashMap();
        String[] idsStr=ids.split(",");
        for (int i=0;i            
关注
打赏
1482932726
查看更多评论
0.0887s