Commit e966a7dc by 王厚康

bpm

parent 6e0bf52d
package com.bbd.bpm;
/**
* Created by houkang on 2019/1/8.
*/
public class BpmResponse {
private boolean success;
private String message;
private Object data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
package com.bbd.bpm.controller;
import com.bbd.bpm.domain.AdminEntity;
import com.bbd.bpm.BpmResponse;
import com.bbd.bpm.domain.DemoTableEntity;
import com.bbd.bpm.repository.AsminRepository;
import com.bbd.bpm.service.AsminService;
import io.swagger.annotations.Api;
......@@ -32,30 +33,72 @@ public class AsminController {
@ApiOperation(value = "Find asmin")
@GetMapping(value = "/asmin")
public List<AdminEntity> searchAsmins() {
public BpmResponse searchAsmins() {
BpmResponse resp = new BpmResponse();
try{
return asminService.queryAsmin();
resp.setSuccess(true);
resp.setMessage("成功");
resp.setData( asminService.queryAsmin());
}catch(Exception e){
Log.error("查询错误",e);
resp.setSuccess(false);
resp.setMessage("错误");
}
return null;
return resp;
}
@ApiOperation(value = "Find asminMap")
@GetMapping(value = "/asminMap")
public BpmResponse asminMap() {
BpmResponse resp = new BpmResponse();
try{
resp.setSuccess(true);
resp.setMessage("成功");
resp.setData( asminService.queryAsminMap());
}catch(Exception e){
Log.error("查询错误",e);
resp.setSuccess(false);
resp.setMessage("错误");
}
return resp;
}
@ApiOperation(value = "Find asmin by ")
@GetMapping(value = "/asminby")
public List<AdminEntity> searchAgents() {
public BpmResponse searchAgents() {
BpmResponse resp = new BpmResponse();
try{
return asminService.findAdminEntitiesByAdminNo("06");
resp.setSuccess(true);
resp.setMessage("成功");
resp.setData( asminService.findAdminEntitiesByAdminNo("06"));
}catch(Exception e){
Log.error("查询错误",e);
resp.setSuccess(false);
resp.setMessage("错误");
}
return resp;
}
@ApiOperation(value = "save demo ")
@GetMapping(value = "/addDemo")
public BpmResponse addDemo() {
BpmResponse resp = new BpmResponse();
try{
asminService.saveDemo();
resp.setSuccess(true);
resp.setMessage("成功");
}catch(Exception e){
Log.error("查询错误",e);
resp.setSuccess(false);
resp.setMessage("错误");
}
return null;
return resp;
}
}
package com.bbd.bpm.dao;
import com.bbd.bpm.domain.AdminEntity;
import com.bbd.bpm.domain.DemoTableEntity;
import org.hibernate.Session;
import org.hibernate.query.NativeQuery;
import org.hibernate.query.internal.NativeQueryImpl;
......@@ -23,22 +23,23 @@ public class AsminDaoImpl {
@PersistenceContext
private EntityManager enm;
public List<AdminEntity> queryAsmin(){
String sql = " select adminName from asmin ";
public List<DemoTableEntity> queryAsmin(){
String sql = " select demo_name as demoName,demo_code as demoCode from demo_table ";
Session session = enm.unwrap(Session.class);
NativeQuery query = session.createNativeQuery(sql);
query.addScalar("adminName", StandardBasicTypes.STRING);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(AdminEntity.class));
List<AdminEntity> list = query.getResultList();
query.addScalar("demoName", StandardBasicTypes.STRING);
query.addScalar("demoCode", StandardBasicTypes.STRING);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(DemoTableEntity.class));
List<DemoTableEntity> list = query.getResultList();
return list;
}
public List<Map> queryAsminMap(){
String sql = " select act_name_ from act_hi_actinst ";
String sql = " select demo_name ,demo_code from demo_table ";
Session session = enm.unwrap(Session.class);
NativeQuery query = session.createNativeQuery(sql);
query.addScalar("act_name_", StandardBasicTypes.STRING);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(HashMap.class));
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<Map> list = query.getResultList();
return list;
}
......
package com.bbd.bpm.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Created by houkang on 2019/1/3.
*/
@Entity
@Table(name = "asmin")
public class AdminEntity {
@Id
@Column(name = "adminNo" ,length = 12)
private String adminNo;
@Column(name = "adminName" ,length = 12)
private String adminName;
@Column(name = "aSex" ,length = 12)
private String aSex;
@Column(name = "aPhoneNumber" ,length = 12)
private String aPhoneNumber;
@Column(name = "address" ,length = 12)
private String address;
public String getAdminNo() {
return adminNo;
}
public void setAdminNo(String adminNo) {
this.adminNo = adminNo;
}
public String getAdminName() {
return adminName;
}
public void setAdminName(String adminName) {
this.adminName = adminName;
}
public String getaSex() {
return aSex;
}
public void setaSex(String aSex) {
this.aSex = aSex;
}
public String getaPhoneNumber() {
return aPhoneNumber;
}
public void setaPhoneNumber(String aPhoneNumber) {
this.aPhoneNumber = aPhoneNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package com.bbd.bpm.domain;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;
/**
* Created by houkang on 2019/1/8.
*/
@MappedSuperclass
public class BaseDomain implements Serializable {
private static final long serialVersionUID = -8870504230827463383L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
package com.bbd.bpm.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
import java.util.Date;
/**
* Created by houkang on 2019/1/3.
*/
@Entity
@Table(name = "demo_table")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class DemoTableEntity extends BaseDomain{
@Column(name="demo_name",length = 20)
private String demoName;
@Column(name="demo_code",length = 20)
private String demoCode;
@Column(name="cre_date")
@Temporal(TemporalType.TIMESTAMP)
private Date creDate;
@Column(name="cre_user",length = 20)
private String creUser;
public String getDemoName() {
return demoName;
}
public void setDemoName(String demoName) {
this.demoName = demoName;
}
public String getDemoCode() {
return demoCode;
}
public void setDemoCode(String demoCode) {
this.demoCode = demoCode;
}
public Date getCreDate() {
return creDate;
}
public void setCreDate(Date creDate) {
this.creDate = creDate;
}
public String getCreUser() {
return creUser;
}
public void setCreUser(String creUser) {
this.creUser = creUser;
}
}
package com.bbd.bpm.repository;
import com.bbd.bpm.domain.AdminEntity;
import com.bbd.bpm.domain.DemoTableEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
......@@ -8,7 +8,7 @@ import java.util.List;
/**
* Created by houkang on 2019/1/3.
*/
public interface AsminRepository extends JpaRepository<AdminEntity, Long> {
public interface AsminRepository extends JpaRepository<DemoTableEntity, Long> {
List<AdminEntity> findAdminEntitiesByAdminNo(String adminNo);
List<DemoTableEntity> findAllByDemoCode(String demoCode);
}
package com.bbd.bpm.service;
import com.bbd.bpm.dao.AsminDaoImpl;
import com.bbd.bpm.domain.AdminEntity;
import com.bbd.bpm.domain.DemoTableEntity;
import com.bbd.bpm.repository.AsminRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -23,12 +24,25 @@ public class AsminService {
@Autowired
private AsminRepository asminRepository;
public List<AdminEntity> queryAsmin(){
asminDaoImpl.queryAsminMap();
public List<DemoTableEntity> queryAsmin(){
return asminDaoImpl.queryAsmin();
}
public List<AdminEntity> findAdminEntitiesByAdminNo(String adminNo){
return asminRepository.findAdminEntitiesByAdminNo(adminNo);
public List<Map> queryAsminMap(){
return asminDaoImpl.queryAsminMap();
}
public void saveDemo(){
DemoTableEntity entity = new DemoTableEntity();
entity.setCreDate(new Date());
entity.setDemoName("ceshi");
entity.setDemoCode("cs");
entity.setCreUser("test");
asminRepository.save(entity);
}
public List<DemoTableEntity> findAdminEntitiesByAdminNo(String demoCode){
return asminRepository.findAllByDemoCode(demoCode);
}
}
......@@ -7,12 +7,45 @@ spring.datasource.username=airuser
spring.datasource.password=!@JD@2016
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
#ҳȼ
spring.thymeleaf.cache=false
##Druid##
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#连接池启动时创建的连接数量的初始值
spring.datasource.initialSize=5
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请
spring.datasource.minIdle=5
#连接池的最大值,同一时间可以从池分配的最多连接数量,0时无限制
spring.datasource.maxActive=100
#最大建立连接等待时间。单位为 ms,如果超过此时间将接到异常。设为-1表示无限制
spring.datasource.maxWait=60000
#1) Destroy线程会检测连接的间隔时间2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
spring.datasource.timeBetweenEvictionRunsMillis=60000
#配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
#用来检测连接是否有效的sql,要求是一个查询语句
spring.datasource.validationQuery=SELECT 1
#建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
spring.datasource.testWhileIdle=true
#申请连接时执行validationQuery检测连接是否有效,配置true会降低性能
spring.datasource.testOnBorrow=false
#归还连接时执行validationQuery检测连接是否有效,配置true会降低性能
spring.datasource.testOnReturn=false
#是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。
spring.datasource.poolPreparedStatements=true
#指定每个连接上PSCache的大小
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
#属性类型是字符串,通过别名的方式配置扩展插件,
#常用的插件有:监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall
spring.datasource.filters=stat,wall,log4j
spring.datasource.useGlobalDataSourceStat=true
###############################
# Specify the DBMS
spring.jpa.database=MYSQL
# Hibernate ddl auto (create, create-drop, update)
# spring.jpa.hibernate.ddl-auto=update
# Naming strategy
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.resources.add-mappings=true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment