温红权 пре 9 година
родитељ
комит
9eb3518452

+ 6 - 6
VisualInspection_server/src/main/java/com/xintong/visualinspection/VideocheckApplication.java

@@ -16,12 +16,12 @@ import javax.sql.DataSource;
 @SpringBootApplication
 @ServletComponentScan
 public class VideocheckApplication {
-	@Bean
-	@ConfigurationProperties(prefix="spring.datasource")
-	public DataSource druidDataSource() {
-		return new DruidDataSource();
-	}
-
+//	@Bean
+//	@ConfigurationProperties(prefix="spring.datasource")
+//	public DataSource druidDataSource() {
+//		return new DruidDataSource();
+//	}
+//
 
 
 	public static void main(String[] args) {

+ 20 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/cluster/UserInfoDao.java

@@ -0,0 +1,20 @@
+package com.xintong.visualinspection.dao.cluster;
+
+import com.xintong.visualinspection.bean.User;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 文件名:UserInfoDao
+ * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Mapper
+public interface UserInfoDao {
+    public List<User> getAll();
+    public User getOne(Long id);
+    public void insert(User user);
+    public void update(User user);
+    public void delete(Long id);
+    public User findByUserName(String username);
+}

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/PermissionDao.java → VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/PermissionDao.java

@@ -1,4 +1,4 @@
-package com.xintong.visualinspection.dao;
+package com.xintong.visualinspection.dao.master;
 
 import com.xintong.visualinspection.bean.Permission;
 import org.apache.ibatis.annotations.Mapper;

+ 2 - 2
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/UserDao.java → VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/UserDao.java

@@ -1,4 +1,4 @@
-package com.xintong.visualinspection.dao;
+package com.xintong.visualinspection.dao.master;
 
 import com.xintong.visualinspection.bean.User;
 import org.apache.ibatis.annotations.Mapper;
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 /**
- * 文件名:UserDao
+ * 文件名:UserInfoDao
  * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
  */
 @Mapper

+ 70 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/druidTools/ClusterDataSourceConfig.java

@@ -0,0 +1,70 @@
+package com.xintong.visualinspection.druidTools;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+/**
+ * 文件名:CommonDataSourceConfig
+ * 版本信息:日期:2017/4/21 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+
+@Configuration
+// 扫描 Mapper 接口并容器管理
+@MapperScan(basePackages = ClusterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "clusterSqlSessionFactory")
+public class ClusterDataSourceConfig {
+
+    // 精确到 cluster 目录,以便跟其他数据源隔离
+    static final String PACKAGE = "com.xintong.visualinspection.dao.cluster";
+//    static final String MAPPER_LOCATION = "classpath:mapper/cluster/*.xml";
+
+    @Value("${cluster.mapper-locations}")
+    private String  MAPPER_LOCATION;
+
+    @Value("${cluster.datasource.url}")
+    private String url;
+
+    @Value("${cluster.datasource.username}")
+    private String user;
+
+    @Value("${cluster.datasource.password}")
+    private String password;
+
+    @Value("${cluster.datasource.driver-class-name}")
+    private String driverClass;
+
+    @Bean(name = "clusterDataSource")
+    public DataSource clusterDataSource() {
+        DruidDataSource dataSource = new DruidDataSource();
+        dataSource.setDriverClassName(driverClass);
+        dataSource.setUrl(url);
+        dataSource.setUsername(user);
+        dataSource.setPassword(password);
+        return dataSource;
+    }
+
+    @Bean(name = "clusterTransactionManager")
+    public DataSourceTransactionManager clusterTransactionManager() {
+        return new DataSourceTransactionManager(clusterDataSource());
+    }
+
+    @Bean(name = "clusterSqlSessionFactory")
+    public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource clusterDataSource)
+            throws Exception {
+        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
+        sessionFactory.setDataSource(clusterDataSource);
+        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
+                .getResources(MAPPER_LOCATION));
+        return sessionFactory.getObject();
+    }
+}
+

+ 71 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/druidTools/MasterDataSourceConfig.java

@@ -0,0 +1,71 @@
+package com.xintong.visualinspection.druidTools;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+/**
+ * 文件名:MasterDataSourceConfig
+ * 版本信息:日期:2017/4/21 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+@Configuration
+// 扫描 Mapper 接口并容器管理
+@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
+public class MasterDataSourceConfig {
+
+    // 精确到 master 目录,以便跟其他数据源隔离
+    static final String PACKAGE = "com.xintong.visualinspection.dao.master";
+//    static final String MAPPER_LOCATION = "classpath:mapper/master/*.xml";
+    @Value("${master.mapper-locations}")
+    private String  MAPPER_LOCATION;
+
+    @Value("${master.datasource.url}")
+    private String url;
+
+    @Value("${master.datasource.username}")
+    private String user;
+
+    @Value("${master.datasource.password}")
+    private String password;
+
+    @Value("${master.datasource.driver-class-name}")
+    private String driverClass;
+
+    @Bean(name = "masterDataSource")
+    @Primary
+    public DataSource masterDataSource() {
+        DruidDataSource dataSource = new DruidDataSource();
+        dataSource.setDriverClassName(driverClass);
+        dataSource.setUrl(url);
+        dataSource.setUsername(user);
+        dataSource.setPassword(password);
+        return dataSource;
+    }
+
+    @Bean(name = "masterTransactionManager")
+    @Primary
+    public DataSourceTransactionManager masterTransactionManager() {
+        return new DataSourceTransactionManager(masterDataSource());
+    }
+
+    @Bean(name = "masterSqlSessionFactory")
+    @Primary
+    public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
+            throws Exception {
+        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
+        sessionFactory.setDataSource(masterDataSource);
+        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
+                .getResources(MAPPER_LOCATION));
+        return sessionFactory.getObject();
+    }
+}

+ 67 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/cluster/UserInfoMapper.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xintong.visualinspection.dao.cluster.UserInfoDao" >
+    <resultMap id="BaseResultMap" type="com.xintong.visualinspection.bean.User" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="username" property="username" jdbcType="VARCHAR" />
+        <result column="password" property="password" jdbcType="VARCHAR" />
+    </resultMap>
+    <resultMap id="userMap" type="com.xintong.visualinspection.bean.User">
+        <id property="id" column="ID"/>
+        <result property="username" column="username"/>
+        <result property="password" column="PASSWORD"/>
+        <collection property="roles" ofType="com.xintong.visualinspection.bean.Role">
+            <result column="name" property="name"/>
+        </collection>
+    </resultMap>
+
+    <select id="getAll" resultMap="BaseResultMap"  >
+        SELECT
+        id,username,password
+        FROM t_sys_users
+    </select>
+
+    <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >
+        SELECT
+        id,username,age,password
+        FROM sys_user
+        WHERE id = #{id}
+    </select>
+
+    <insert id="insert" parameterType="com.xintong.visualinspection.bean.User" >
+        INSERT INTO
+        sys_user
+        (username,age,password)
+        VALUES
+        (#{username}, #{age},#{password})
+    </insert>
+
+    <update id="update" parameterType="com.xintong.visualinspection.bean.User" >
+        UPDATE
+        sys_user
+        SET
+        <if test="username != null">userName = #{username},</if>
+        <if test="age != null">age = #{age},</if>
+        <if test="password != null">password = #{password},</if>
+        id = #{id}
+        WHERE
+        id = #{id}
+    </update>
+
+    <delete id="delete" parameterType="java.lang.Long" >
+        DELETE FROM
+        sys_user
+        WHERE
+        id =#{id}
+    </delete>
+
+
+    <select id="findByUserName" parameterType="String" resultMap="userMap">
+        select u.*
+        ,r.name
+        from sys_user u
+        LEFT JOIN sys_role_user sru on u.id= sru.Sys_User_id
+        LEFT JOIN sys_role r on sru.sys_role_id=r.id
+        where username= #{username}
+    </select>
+</mapper>

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/PermissionDaoMapper.xml → VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/PermissionDaoMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.xintong.visualinspection.dao.PermissionDao">
+<mapper namespace="com.xintong.visualinspection.dao.master.PermissionDao">
     <select id="findAll"  resultType="com.xintong.visualinspection.bean.Permission">
 
         SELECT * from sys_permission ;

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/UserMapper.xml → VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/UserMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.xintong.visualinspection.dao.UserDao" >
+<mapper namespace="com.xintong.visualinspection.dao.master.UserDao" >
     <resultMap id="BaseResultMap" type="com.xintong.visualinspection.bean.User" >
         <id column="id" property="id" jdbcType="INTEGER" />
         <result column="username" property="username" jdbcType="VARCHAR" />

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/securityTools/MyInvocationSecurityMetadataSourceService.java

@@ -1,7 +1,7 @@
 package com.xintong.visualinspection.securityTools;
 
 import com.xintong.visualinspection.bean.Permission;
-import com.xintong.visualinspection.dao.PermissionDao;
+import com.xintong.visualinspection.dao.master.PermissionDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.ConfigAttribute;
 import org.springframework.security.access.SecurityConfig;

+ 12 - 5
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/UserServiceImpl.java

@@ -1,11 +1,10 @@
 package com.xintong.visualinspection.service.impl;
 
 import com.xintong.visualinspection.bean.Permission;
-import com.xintong.visualinspection.bean.Role;
 import com.xintong.visualinspection.bean.User;
-import com.xintong.visualinspection.dao.PermissionDao;
-import com.xintong.visualinspection.dao.UserDao;
-import com.xintong.visualinspection.securityTools.MyGrantedAuthority;
+import com.xintong.visualinspection.dao.cluster.UserInfoDao;
+import com.xintong.visualinspection.dao.master.PermissionDao;
+import com.xintong.visualinspection.dao.master.UserDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.UserService;
 import lombok.Data;
@@ -14,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.stereotype.Service;
 
@@ -34,6 +32,9 @@ public class UserServiceImpl extends BaseService implements UserService {
 
     @Autowired
     private UserDao userDao;
+
+    @Autowired
+    private UserInfoDao userInfoDao;
     @Autowired
     private PermissionDao permissionDao;
 
@@ -65,6 +66,12 @@ public class UserServiceImpl extends BaseService implements UserService {
     @Override
     public UserDetails loadUserByUsername(String username) {
 
+        try {
+            userInfoDao.getAll();
+        }catch (Exception e){
+            System.out.print(e.getCause());
+        }
+
         User user = userDao.findByUserName(username);
         if (user != null) {
             List<Permission> permissions = permissionDao.findByAdminUserId(user.getId());

+ 15 - 6
VisualInspection_server/src/main/resources/application.properties

@@ -1,12 +1,21 @@
 server.port=8089
 spring.thymeleaf.cache=false
 
-spring.datasource.name = test
-spring.datasource.url = jdbc:mysql://git.topm.win:9001/visualinspection?useUnicode=true&characterEncoding=utf-8
-spring.datasource.username = root
-spring.datasource.password = root
-spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
-spring.datasource.driver-class-name = com.mysql.jdbc.Driver
+
+master.datasource.url = jdbc:mysql://git.topm.win:9001/visualinspection?useUnicode=true&characterEncoding=utf-8
+master.datasource.username = root
+master.datasource.password = root
+master.datasource.driver-class-name = com.mysql.jdbc.Driver
+master.mapper-locations=classpath:com/xintong/visualinspection/mapper/master/*.xml
+
+## 用户数据源配置
+cluster.datasource.url=jdbc:mysql://git.topm.win:9001/yanhai?useUnicode=true&characterEncoding=utf8
+cluster.datasource.username=root
+cluster.datasource.password=root
+cluster.datasource.driver-class-name = com.mysql.jdbc.Driver
+cluster.mapper-locations=classpath:com/xintong/visualinspection/mapper/cluster/*.xml
+
+
 # 初始化大小,最小,最大
 spring.datasource.initialSize=5
 spring.datasource.minIdle=5