Home
xiongzhu editó esta página hace 6 años

一、环境搭建

  1. 关闭 IDEA
  2. 安装 Nodejs http://nodejs.cn/download/
  3. 安装最新版 IDEA https://www.jetbrains.com/idea/download/
  4. 激活

二、导入项目

  1. 直接打开项目文件夹
  2. 等待 maven 加载完毕
  3. 将项目文件夹下的 runConfigurations 复制到 .idea 文件夹内(在文件管理器内操作)
  4. 回到 IDEA,会自动加载 Tomcat 和 Vue 的运行配置图片:
    pic
  5. 如图配置JS版本为ECMAScript 6
    pic
  6. 首次导入项目后先运行一下 Install Dependencies
  7. 同时运行 Tomcat 和 Vue Server 即可启动项目,访问 http://localhost:8080 进入后台管理页面。默认账号 root 密码 123456

三、开发

四、发布

五、多数据源

支持MySQL/SQL server

1. 配置数据源链接信息

在jdbc.properties配置相关数据源的地址、账户、密码和驱动。

jdbc.driverClassName=org.gjt.mm.mysql.Driver

#jdbc.url=jdbc:mysql://120.55.131.232:3306/jee_zouma
#jdbc.username=microball
#jdbc.password=2wsx@WSX#EDC
#jdbc.databaseName=jee_zouma

jdbc.url=jdbc:mysql://121.43.171.110:3306/xin_mu?autoReconnect=true
jdbc.username=root
jdbc.password=2wsx@WSX#EDC
jdbc.databaseName=xin_mu

DRIVER="com.mysql.jdbc.Driver";

2. 配置Spring DateSource

在 appDataSource.xml 中配置动态 dataSource 数据库连接池

默认数据库链接池,名字必须叫dataSource

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <!-- 配置连接池属性 -->
    <property name="driverClass" value="${jdbc.driverClassName}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="user" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>

    <!-- c3p0链接池的私有属性 -->
    <property name="maxPoolSize" value="10"/>
    <property name="minPoolSize" value="5"/>
    <!-- 关闭连接hou不自动commit -->
    <property name="autoCommitOnClose" value="false"/>
    <!-- 获取连接超时时间 -->
    <property name="checkoutTimeout" value="10000"/>
    <!-- 当获取链接失败重试次数 -->
    <property name="acquireRetryAttempts" value="2"/>

</bean>

从数据库链接池

<!-- 配置从数据源 -->
<bean id="dataSourceSlaver" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${jdbc.driverClassName}"/>
    <property name="jdbcUrl" value="${jdbc.slaver.url}"/>
    <property name="user" value="${jdbc.slaver.username}"/>
    <property name="password" value="${jdbc.slaver.password}"/>

    <!-- c3p0链接池的私有属性 -->
    <property name="maxPoolSize" value="10"/>
    <property name="minPoolSize" value="5"/>
    <!-- 关闭连接hou不自动commit -->
    <property name="autoCommitOnClose" value="false"/>
    <!-- 获取连接超时时间 -->
    <property name="checkoutTimeout" value="10000"/>
    <!-- 当获取链接失败重试次数 -->
    <property name="acquireRetryAttempts" value="2"/>
</bean>

SQL server数据库连接池

<bean id="dataSourceSqlserver" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${sqlserver.driver}"/>
    <property name="jdbcUrl" value="${sqlserver.url}"/>
    <property name="user" value="${sqlserver.user}"/>
    <property name="password" value="${sqlserver.password}"/>

    <!-- c3p0链接池的私有属性 -->
    <property name="maxPoolSize" value="10"/>
    <property name="minPoolSize" value="5"/>
    <!-- 关闭连接hou不自动commit -->
    <property name="autoCommitOnClose" value="false"/>
    <!-- 获取连接超时时间 -->
    <property name="checkoutTimeout" value="10000"/>
    <!-- 当获取链接失败重试次数 -->
    <property name="acquireRetryAttempts" value="2"/>
</bean>

动态数据库连接池

<bean id="dynamicDataSource" class="com.izouma.admintemplate.datasource.DynamicDataSource">
    <property name="targetDataSources">
        <map key-type="java.lang.String">
            <!-- 指定lookupKey和与之对应的数据源 -->
            <entry key="dataSource" value-ref="dataSource"></entry>
            <entry key="dataSourceSlaver" value-ref="dataSourceSlaver"></entry>
            <entry key="dataSourceSqlserver" value-ref="dataSourceSqlserver"></entry>
        </map>
    </property>
    <!-- 这里可以指定默认的数据源 -->
    <property name="defaultTargetDataSource" ref="dataSource"/>
</bean>

3. 开启aop注解模式

<!--开启aop注解模式-->
<aop:aspectj-autoproxy/>

4. 配置aop切面范围

DataSourceAspect ASpect中配置 pointcut 配置表达式请参考 spring AspectJ的Execution表达式

@Pointcut("execution(public * com.izouma.admintemplate.dao..*(..)))")
public void pointcut() {
}

5. 在Mapper中配置使用的数据源

如果没有配置数据源,则默认使用dataSource

@DataSource("dataSource")//类使用dataSource数据源
@Repository("com.izouma.admintemplate.dao.DataMapper")
public interface DataMapper {

    /**
     * <p>获取用户列表。</p>
     *
     * @return TblUser list
     */
    // 不指定,则默认使用类的数据源
    List<SuperUser> queryAllUsers();

    // 覆盖类上指定的,使用数据源2
    @DataSource("dataSourceSlaver")
    List<Zouma> queryZouma();

    // 覆盖类上指定的,使用数据源3
    @DataSource("dataSourceSqlserver")
    List<SqlServerTest> getSqlServerTestByPage(Map<String, Object> parameter);
}

六、权限