测试

来源:互联网 发布:dnf台服数据库修改 编辑:程序博客网 时间:2024/06/11 17:45
package com.liu.dao.device;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.query.Param;import org.springframework.stereotype.Repository;import com.liu.module.device.DeviceCard;/** * @author Amin 2017年5月16日 * */@Repositorypublic interface DeviceCardRepository extends JpaRepository<DeviceCard, Long> {DeviceCard findByCreator(Long uid);DeviceCard findByMacAddress(String macAddress);@Query("SELECT CASE WHEN count(DC)>0 THEN true ELSE false END FROM DeviceCard DC WHERE creator = :uid OR mac_address = :macAddress ")Boolean isExistMacOrUid(@Param("uid") Long uid, @Param("macAddress") String macAddress);}

package com.liu.module.device;import static javax.persistence.GenerationType.IDENTITY;import java.util.Date;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;/** * @author Amin 2017年5月16日 设备实体 */@Entity@Table(name = "ecg_device_card")public class DeviceCard {private Long id;// 绑定者名字private Long creator;// 设备编号private String sn;// 设备mac地址private String macAddress;// 设备名字private String name;// 设备版本号private String version;// 设备创建时间private Date created;private int deleted;@Id@GeneratedValue(strategy = IDENTITY)public Long getId() {return id;}......
package com.liu.service.device;import java.util.Date;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.liu.dao.device.DeviceCardRepository;import com.liu.module.Response;import com.liu.module.device.DeviceCard;import com.liu.module.user.User;import com.liu.moduleDTO.DeviceCardDTO;import com.liu.service.util.CacheService;/** * @author Amin 2017年5月16日 心电卡处理类 */@Service()public class DeviceCardService {@Autowiredprivate DeviceCardRepository deviceCardRepository;@Autowiredprivate CacheService cacheService;

}

package com.liu;import java.util.Map;import javax.persistence.EntityManager;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import org.springframework.orm.jpa.JpaTransactionManager;import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;@Configuration@EnableTransactionManagement@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactoryPrimary", transactionManagerRef = "transactionManagerPrimary", basePackages = {"com.liu.dao.device.DeviceCardRepository" }) // 设置Repository所在位置public class PrimaryConfig {@Autowired@Qualifier("primaryDataSource")private DataSource primaryDataSource;@Primary@Bean(name = "entityManagerPrimary")public EntityManager entityManager(EntityManagerFactoryBuilder builder) {return entityManagerFactoryPrimary(builder).getObject().createEntityManager();}@Primary@Bean(name = "entityManagerFactoryPrimary")public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary(EntityManagerFactoryBuilder builder) {return builder.dataSource(primaryDataSource).properties(getVendorProperties(primaryDataSource)).packages("com.liu.module.device.DeviceCard") // 设置实体类所在位置.persistenceUnit("primaryPersistenceUnit").build();}@Autowiredprivate JpaProperties jpaProperties;private Map<String, String> getVendorProperties(DataSource dataSource) {return jpaProperties.getHibernateProperties(dataSource);}@Primary@Bean(name = "transactionManagerPrimary")public PlatformTransactionManager transactionManagerPrimary(EntityManagerFactoryBuilder builder) {return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject());}}

package com.liu;import java.util.Map;import javax.persistence.EntityManager;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import org.springframework.orm.jpa.JpaTransactionManager;import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;//新增对第二数据源的JPA配置,内容与第一数据源类似,具体如下:@Configuration@EnableTransactionManagement@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactorySecondary", transactionManagerRef = "transactionManagerSecondary", basePackages = {"com.liu.dao.doctor.VcareDoctorRepository" }) // 设置Repository所在位置public class SecondaryConfig {@Autowired@Qualifier("secondaryDataSource")private DataSource secondaryDataSource;@Bean(name = "entityManagerSecondary")public EntityManager entityManager(EntityManagerFactoryBuilder builder) {return entityManagerFactorySecondary(builder).getObject().createEntityManager();}@Bean(name = "entityManagerFactorySecondary")public LocalContainerEntityManagerFactoryBean entityManagerFactorySecondary(EntityManagerFactoryBuilder builder) {return builder.dataSource(secondaryDataSource).properties(getVendorProperties(secondaryDataSource)).packages("com.liu.module.doctor.VcareDoctor") // 设置实体类所在位置.persistenceUnit("secondaryPersistenceUnit").build();}@Autowiredprivate JpaProperties jpaProperties;private Map<String, String> getVendorProperties(DataSource dataSource) {return jpaProperties.getHibernateProperties(dataSource);}@Bean(name = "transactionManagerSecondary")public PlatformTransactionManager transactionManagerSecondary(EntityManagerFactoryBuilder builder) {return new JpaTransactionManager(entityManagerFactorySecondary(builder).getObject());}}

package com.liu;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;/** *  * @author Amin 2017年6月13日 */@Configurationpublic class DataSourceConfig {/** * DB1---ecgdata *  * @return */@Bean(name = "primaryDataSource")@Qualifier("primaryDataSource")@Primary@ConfigurationProperties(prefix = "spring.datasource.primary")public DataSource primaryDataSource() {return DataSourceBuilder.create().build();}/** * DB2---vcare *  * @return */@Bean(name = "secondaryDataSource")@Qualifier("secondaryDataSource")@ConfigurationProperties(prefix = "spring.datasource.secondary")public DataSource secondaryDataSource() {return DataSourceBuilder.create().build();}}

#DB1---ecgdataspring.datasource.primary.url = jdbc:mysql://192.168.1.6:3306/ecgdata?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=falsespring.datasource.primary.username = rootspring.datasource.primary.password = 123456spring.datasource.primary.driverClassName = com.mysql.jdbc.Driver#DB2---vcarespring.datasource.secondary.url = jdbc:mysql://192.168.1.6:3306/vcare?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=falsespring.datasource.secondary.username = rootspring.datasource.secondary.password = 123456spring.datasource.secondary.driverClassName = com.mysql.jdbc.Driver# Specify the DBMSspring.jpa.database = MYSQL# Show or not log for each sql queryspring.jpa.show-sql = true# Hibernate ddl auto (create, create-drop, update,none)spring.jpa.hibernate.ddl-auto = none# Naming strategyspring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy# stripped before adding them to the entity manager)spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialectspring.datasource.test-while-idle=truespring.datasource.validation-query=SELECT 1# Serverserver.port = 8080






原创粉丝点击