提交 f4959201 编写于 作者: Lqyang5080's avatar Lqyang5080

hibernate模板

上级 70582707
<#ibiztemplate>
TARGET=PSSYSTEM
</#ibiztemplate>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>${pub.getCodeName()?lower_case}-srv</artifactId>
<name>${pub.getCodeName()?lower_case}-srv</name>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<properties>
<junit.version>4.12</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${r'${junit.version}'}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
</project>
<#ibiztemplate>
TARGET=PSDATAENTITY
</#ibiztemplate>
package ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.dao;
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.repository.${item.codeName}Repository;
public interface ${item.codeName}Dao extends ${item.codeName}Repository {
}
<#ibiztemplate>
TARGET=PSDATAENTITY
</#ibiztemplate>
package ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.domain;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.sql.Timestamp;
/**
* 实体[${item.codeName}] 数据对象
*/
@Entity(name = "${item.getTableName()?lower_case}")
@Data
public class ${item.codeName}{
<#comment>输出当前实体属性</#comment>
<#list item.getPSDEFields() as defield>
<#if defield.isKeyDEField()>
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid")
<#else>
@Column(name = "${defield.codeName?lower_case}")
</#if>
private ${srfjavatype(defield.stdDataType)} ${defield.codeName?lower_case};
</#list>
<#comment>输出当前实体1:N主实体</#comment>
<#if item.getMinorPSDERs?? && item.getMinorPSDERs()??>
<#list item.getMinorPSDERs() as MinorPSDER>
<#assign MajorEntity = MinorPSDER.getMajorPSDataEntity()>
@ManyToOne//关系主表数据
private ${MajorEntity.getCodeName()} ${MinorPSDER.getCodeName()?lower_case};
</#list>
</#if>
<#comment>输出当前实体1:N子实体</#comment>
<#if item.getMajorPSDERs?? && item.getMajorPSDERs()??>
<#list item.getMajorPSDERs() as MajorPSDER>
<#assign MinorEntity = MajorPSDER.getMinorPSDataEntity()>
<#assign Entity_cap_first = MajorPSDER.getCodeName()?lower_case>
@OneToMany(mappedBy = "${MajorPSDER.getCodeName()?lower_case}", cascade = CascadeType.ALL, orphanRemoval = true)//关系从表数据
private List <${MinorEntity.getCodeName()}>${MinorEntity.getCodeName()?lower_case}s = new ArrayList<>();
public void add${MinorEntity.getCodeName()}(${MinorEntity.getCodeName()} ${MinorEntity.getCodeName()?lower_case}) {
${MinorEntity.getCodeName()?lower_case}s.add( ${MinorEntity.getCodeName()?lower_case} );
${MinorEntity.getCodeName()?lower_case}.set${Entity_cap_first?cap_first}( this );
}
public void remove${MinorEntity.getCodeName()}(${MinorEntity.getCodeName()} ${MinorEntity.getCodeName()?lower_case}) {
${MinorEntity.getCodeName()?lower_case}s.remove( ${MinorEntity.getCodeName()?lower_case} );
${MinorEntity.getCodeName()?lower_case}.set${Entity_cap_first?cap_first}( null );
}
</#list>
</#if>
<#assign str = ""/>
<#list item.getPSDEFields() as defield>
<#assign str = str +'"${defield.codeName?lower_case}=" +${defield.codeName?lower_case}+","+'/>
</#list>
@Override
public String toString() {
return ${str?substring(0,str?length-5)} ;
}
}
<#ibiztemplate>
TARGET=PSDATAENTITY
</#ibiztemplate>
package ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.repository;
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.domain.${item.codeName};
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
<#assign dataType=""/>
<#list item.getPSDEFields() as defield>
<#if defield.isKeyDEField()>
<#assign dataType=srfjavatype(defield.stdDataType)/>
</#if>
</#list>
public interface ${item.codeName}Repository extends JpaRepository<${item.codeName},${dataType}>{
/**
* 输出实体搜索项
*/
<#list item.getPSDEFields() as defield>
<#list defield.getAllPSDEFSearchModes() as formitem>
<#assign Entity_cap_first = formitem.getPSDEField().getName()?lower_case>
<#if formitem.getValueOp() == "LIKE">
<#comment>LIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Containing(String param);
<#elseif formitem.getValueOp() == "LEFTLIKE">
<#comment>LEFTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}StartingWith(String param);
<#elseif formitem.getValueOp() == "RIGHTLIKE">
<#comment>RIGHTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}EndingWith(String param);
<#elseif formitem.getValueOp() == "EQ">
<#comment>EQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}(String param);
<#elseif formitem.getValueOp() == "NOTEQ">
<#comment>NOTEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Not(String param);
<#elseif formitem.getValueOp() == "GT">
<#comment>GT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThan(String param);
<#elseif formitem.getValueOp() == "GTANDEQ">
<#comment>GTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThanEqual(String param);
<#elseif formitem.getValueOp() == "LT">
<#comment>LT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThan(String param);
<#elseif formitem.getValueOp() == "LTANDEQ">
<#comment>LTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThanEqual(String param);
</#if>
</#list>
</#list>
}
<#ibiztemplate>
TARGET=PSDATAENTITY
</#ibiztemplate>
package ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.service;
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.domain.${item.codeName};
import java.util.List;
/**
* 实体[${item.codeName}] 服务对象接口
*/
public interface ${item.codeName}Service {
void add${item.codeName} (${item.codeName} ${item.codeName?lower_case});
void delete${item.codeName} (${item.codeName} ${item.codeName?lower_case});
void update${item.codeName} (${item.codeName} ${item.codeName?lower_case});
List<${item.codeName}> select${item.codeName}all ();
${item.codeName} select${item.codeName} (String id);
<#list item.getPSDEFields() as defield>
<#list defield.getAllPSDEFSearchModes() as formitem>
<#assign Entity_cap_first = formitem.getPSDEField().getName()?lower_case>
<#if formitem.getValueOp() == "LIKE">
<#comment>LIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Containing(String param);
<#elseif formitem.getValueOp() == "LEFTLIKE">
<#comment>LEFTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}StartingWith(String param);
<#elseif formitem.getValueOp() == "RIGHTLIKE">
<#comment>RIGHTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}EndingWith(String param);
<#elseif formitem.getValueOp() == "EQ">
<#comment>EQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}(String param);
<#elseif formitem.getValueOp() == "NOTEQ">
<#comment>NOTEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Not(String param);
<#elseif formitem.getValueOp() == "GT">
<#comment>GT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThan(String param);
<#elseif formitem.getValueOp() == "GTANDEQ">
<#comment>GTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThanEqual(String param);
<#elseif formitem.getValueOp() == "LT">
<#comment>LT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThan(String param);
<#elseif formitem.getValueOp() == "LTANDEQ">
<#comment>LTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThanEqual(String param);
</#if>
</#list>
</#list>
}
\ No newline at end of file
<#ibiztemplate>
TARGET=PSDATAENTITY
</#ibiztemplate>
package ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.service.impl;
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.domain.${item.codeName};
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.service.${item.codeName}Service;
import ${pub.getPKGCodeName()}.${item.getPSSystemModule().codeName?lower_case}.dao.${item.codeName}Dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 实体[${item.codeName}] 服务对象接口实现
*/
@Service
public class ${item.codeName}ServiceImpl implements ${item.codeName}Service{
@Autowired
private ${item.codeName}Dao ${item.codeName?lower_case}dao;
public void add${item.codeName} (${item.codeName} ${item.codeName?lower_case}){
${item.codeName?lower_case}dao.save(${item.codeName?lower_case});
}
public void delete${item.codeName} (${item.codeName} ${item.codeName?lower_case}){
${item.codeName?lower_case}dao.delete(${item.codeName?lower_case});
}
public void update${item.codeName} (${item.codeName} ${item.codeName?lower_case}){
${item.codeName?lower_case}dao.save(${item.codeName?lower_case});
}
public List<${item.codeName}> select${item.codeName}all (){
return ${item.codeName?lower_case}dao.findAll();
}
public ${item.codeName} select${item.codeName} (String id){
return ${item.codeName?lower_case}dao.findById(id).get();
}
<#list item.getPSDEFields() as defield>
<#list defield.getAllPSDEFSearchModes() as formitem>
<#assign Entity_cap_first = formitem.getPSDEField().getName()?lower_case>
<#if formitem.getValueOp() == "LIKE">
<#comment>LIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Containing(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}Containing(param);
}
<#elseif formitem.getValueOp() == "LEFTLIKE">
<#comment>LEFTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}StartingWith(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}StartingWith(param);
}
<#elseif formitem.getValueOp() == "RIGHTLIKE">
<#comment>RIGHTLIKE</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}EndingWith(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}EndingWith(param);
}
<#elseif formitem.getValueOp() == "EQ">
<#comment>EQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}(param);
}
<#elseif formitem.getValueOp() == "NOTEQ">
<#comment>NOTEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}Not(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}Not(param);
}
<#elseif formitem.getValueOp() == "GT">
<#comment>GT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThan(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}GreaterThan(param);
}
<#elseif formitem.getValueOp() == "GTANDEQ">
<#comment>GTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}GreaterThanEqual(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}GreaterThanEqual(param);
}
<#elseif formitem.getValueOp() == "LT">
<#comment>LT</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThan(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}LessThan(param);
}
<#elseif formitem.getValueOp() == "LTANDEQ">
<#comment>LTANDEQ</#comment>
public List<${item.codeName}> findBy${Entity_cap_first?cap_first}LessThanEqual(String param){
return ${item.codeName?lower_case}dao.findBy${Entity_cap_first?cap_first}LessThanEqual(param);
}
</#if>
</#list>
</#list>
}
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSTEM
</#ibiztemplate>
package ${pub.getPKGCodeName()};
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication(scanBasePackages = "${pub.getPKGCodeName()}")
@EntityScan("${pub.getPKGCodeName()}.*")
@EnableJpaRepositories("${pub.getPKGCodeName()}.*")
public class ${pub.getCodeName()?lower_case}Main{
public static void main(String[] args) {
SpringApplication.run(${pub.getCodeName()?lower_case}Main.class, args);
}
}
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSTEM
</#ibiztemplate>
<#assign dbinst = sysrun.getPSDBDevInst()>
spring:
datasource:
username: ${dbinst.getUserName()}
password: '${dbinst.getPassword()}'
url: jdbc:mysql://127.0.0.1:3306/${dbinst.getUserName()}?useUnicode=true&characterEncoding=utf-8&usessl=false
driver-class-name: com.mysql.jdbc.Driver
jackson:
serialization:
indent-output: true
jpa:
hibernate:
ddl-auto: update
show-sql: true
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
logging:
level:
${pub.getPKGCodeName()}: debug
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册