7 changed files with 310 additions and 21 deletions
@ -1,21 +0,0 @@ |
|||||
package io.xtfs.jwebfs; |
|
||||
|
|
||||
import com.zaxxer.hikari.HikariDataSource; |
|
||||
import org.springframework.context.annotation.Bean; |
|
||||
import org.springframework.context.annotation.Configuration; |
|
||||
import org.springframework.core.env.Environment; |
|
||||
|
|
||||
import javax.sql.DataSource; |
|
||||
|
|
||||
@Configuration |
|
||||
public class DataSourceConfig { |
|
||||
@Bean |
|
||||
public DataSource dataSource(Environment env){ |
|
||||
HikariDataSource ds = new HikariDataSource(); |
|
||||
ds.setJdbcUrl(env.getProperty("spring.datasource.url")); |
|
||||
ds.setUsername(env.getProperty("spring.datasource.username")); |
|
||||
ds.setPassword(env.getProperty("spring.datasource.password")); |
|
||||
ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name")); |
|
||||
return ds; |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,114 @@ |
|||||
|
package io.xtfs.jwebfs.configure; |
||||
|
|
||||
|
|
||||
|
import com.alibaba.druid.pool.DruidDataSource; |
||||
|
import com.alibaba.druid.support.http.StatViewServlet; |
||||
|
import com.alibaba.druid.support.http.WebStatFilter; |
||||
|
import org.apache.commons.logging.Log; |
||||
|
import org.apache.commons.logging.LogFactory; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.SqlSessionTemplate; |
||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||
|
import org.springframework.beans.factory.annotation.Qualifier; |
||||
|
import org.springframework.boot.web.servlet.FilterRegistrationBean; |
||||
|
import org.springframework.boot.web.servlet.ServletRegistrationBean; |
||||
|
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 io.xtfs.jwebfs.constant.ChConstant; |
||||
|
|
||||
|
import javax.servlet.Filter; |
||||
|
import javax.servlet.Servlet; |
||||
|
import javax.sql.DataSource; |
||||
|
import java.io.FileReader; |
||||
|
import java.util.Properties; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* druid 数据库链接配置 |
||||
|
* 涉及多数据源,此处需要明确指定扫描包的位置 |
||||
|
*/ |
||||
|
@Configuration |
||||
|
@MapperScan(basePackages = {"io.xtfs.jwebfs.mapper"},sqlSessionFactoryRef = "chSqlSessionFactory") |
||||
|
public class DruidConfig { |
||||
|
private Log log = LogFactory.getLog(DruidConfig.class); //初始化日志
|
||||
|
static final String CHMAPPER_LOCATION = "classpath:mapper/webfs/*.xml"; |
||||
|
|
||||
|
/** |
||||
|
* 配置为主要数据源 |
||||
|
* @return |
||||
|
* @throws Exception |
||||
|
*/ |
||||
|
|
||||
|
@Bean(name = "chDataSource") |
||||
|
@Qualifier("chDataSource") |
||||
|
public DataSource druidDataSource() throws Exception{ |
||||
|
//配置文件的真实路径
|
||||
|
String dbconf = ChConstant.WORK_DIR + ChConstant.DB_CONF; |
||||
|
Properties prop = new Properties(); |
||||
|
prop.load(new FileReader(dbconf)); |
||||
|
log.info("master druid:"+dbconf); |
||||
|
//使用datasource方式
|
||||
|
DruidDataSource dataSource = new DruidDataSource(); |
||||
|
String dburl = prop.getProperty("druid.url"); |
||||
|
dataSource.setUrl(dburl); |
||||
|
dataSource.setUsername(prop.getProperty("druid.username")); |
||||
|
dataSource.setPassword(prop.getProperty("druid.password")); |
||||
|
|
||||
|
return dataSource; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Bean |
||||
|
public ServletRegistrationBean<Servlet> druidServlet() { |
||||
|
// 进行 druid 监控的配置处理
|
||||
|
ServletRegistrationBean<Servlet> srb = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); |
||||
|
// 白名单
|
||||
|
srb.addInitParameter("allow", "127.0.0.1"); |
||||
|
// 黑名单
|
||||
|
//srb.addInitParameter("deny", "192.168.31.253");
|
||||
|
// 用户名
|
||||
|
//srb.addInitParameter("loginUsername", "root");
|
||||
|
// 密码
|
||||
|
//srb.addInitParameter("loginPassword", "root");
|
||||
|
// 是否可以重置数据源
|
||||
|
srb.addInitParameter("resetEnable", "false"); |
||||
|
log.info("druid监控配置:" + srb); |
||||
|
return srb; |
||||
|
} |
||||
|
|
||||
|
@Bean |
||||
|
public FilterRegistrationBean<Filter> filterRegistrationBean() { |
||||
|
FilterRegistrationBean<Filter> frb = new FilterRegistrationBean<>(); |
||||
|
frb.setFilter(new WebStatFilter()); |
||||
|
// 所有请求进行监控处理
|
||||
|
frb.addUrlPatterns("/*"); |
||||
|
// 排除名单
|
||||
|
frb.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*"); |
||||
|
return frb; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Bean(name="chSqlSessionFactory") |
||||
|
public SqlSessionFactory aisSqlSessionFactory(@Qualifier("chDataSource") DataSource dataSource) throws Exception { |
||||
|
SqlSessionFactoryBean bean=new SqlSessionFactoryBean(); |
||||
|
bean.setDataSource(dataSource); |
||||
|
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(DruidConfig.CHMAPPER_LOCATION)); |
||||
|
log.info("chSqlSessionFactory"+bean.toString()); |
||||
|
return bean.getObject(); |
||||
|
} |
||||
|
|
||||
|
//配置事务
|
||||
|
@Bean(name="transactionManager") |
||||
|
public DataSourceTransactionManager testTransactionManager(@Qualifier("chDataSource") DataSource dataSource) { |
||||
|
return new DataSourceTransactionManager(dataSource); |
||||
|
} |
||||
|
|
||||
|
//
|
||||
|
@Bean(name="sqlSessionTemplate") |
||||
|
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("chSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { |
||||
|
return new SqlSessionTemplate(sqlSessionFactory); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
package io.xtfs.jwebfs.constant; |
||||
|
|
||||
|
|
||||
|
import io.xtfs.jwebfs.configure.EnvConfig; |
||||
|
|
||||
|
/** |
||||
|
* 系统常量 |
||||
|
*/ |
||||
|
public class ChConstant { |
||||
|
//项目运行目录
|
||||
|
public static final String WORK_DIR = EnvConfig.yxDbConf(); |
||||
|
|
||||
|
//数据库链接文件路径
|
||||
|
public static final String DB_CONF = "/conf/conf.properties"; |
||||
|
|
||||
|
//分页大小
|
||||
|
public static final int PAGESIZE=12; |
||||
|
|
||||
|
//上传目录
|
||||
|
public static final String UPLOAD_DIR = "/upload"; |
||||
|
|
||||
|
//密钥
|
||||
|
public static final String SYS_SECRECT="An`)bBmyjf`."; |
||||
|
|
||||
|
//加密短语
|
||||
|
public static final String SYS_SECRECT_SHORT_WORD="9149D"; |
||||
|
} |
||||
@ -0,0 +1,41 @@ |
|||||
|
package io.xtfs.jwebfs.mapper; |
||||
|
|
||||
|
import io.xtfs.jwebfs.bean.WbFile; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Component |
||||
|
public interface WbFileMapper { |
||||
|
/** |
||||
|
* 新增 |
||||
|
* @param wbFile |
||||
|
* @return |
||||
|
*/ |
||||
|
int addRs(WbFile wbFile); |
||||
|
|
||||
|
/** |
||||
|
* 列表 |
||||
|
* @param map |
||||
|
* @param start |
||||
|
* @param limit |
||||
|
* @return |
||||
|
*/ |
||||
|
List<WbFile> getWbFileByMap(@Param("map") Map map, int start, int limit); |
||||
|
|
||||
|
/** |
||||
|
* 详情 |
||||
|
* @param id |
||||
|
* @return |
||||
|
*/ |
||||
|
WbFile getWbfileById(Integer id); |
||||
|
|
||||
|
/** |
||||
|
* 统计 |
||||
|
* @param map |
||||
|
* @return |
||||
|
*/ |
||||
|
int countRs(@Param("gmap")Map map); |
||||
|
} |
||||
@ -0,0 +1,78 @@ |
|||||
|
<?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="yc.mall.api.mapper.WbFileMapper"> |
||||
|
|
||||
|
<sql id="column">id.filename,filehash</sql> |
||||
|
<sql id="tbName">wbfile</sql> |
||||
|
|
||||
|
<!-- 查询详情 --> |
||||
|
<select id="getWbfileById" resultType="io.xtfs.jwebfs.bean.WbFile" parameterType="java.lang.Integer"> |
||||
|
SELECT <include refid="column"/> |
||||
|
FROM <include refid="tbName"/> |
||||
|
WHERE id=#{id} |
||||
|
</select> |
||||
|
|
||||
|
<!-- 带分页查询--> |
||||
|
<select id="getWbFileByMap" resultType="io.xtfs.jwebfs.bean.WbFile" parameterType="java.util.Map"> |
||||
|
SELECT <include refid="column"/> |
||||
|
FROM <include refid="tbName"/> |
||||
|
<if test="gmap!=null and gmap!=''"> |
||||
|
<where> |
||||
|
<foreach collection="gmap" index="k" item="v" separator="and"> |
||||
|
<if test="k!='sokey'"> |
||||
|
${k}=${v} |
||||
|
</if> |
||||
|
<if test="k=='sokey'"> |
||||
|
${v} |
||||
|
</if> |
||||
|
</foreach> |
||||
|
</where> |
||||
|
</if> |
||||
|
<if test="start!=-1"> |
||||
|
LIMIT #{start},#{limit}; |
||||
|
</if> |
||||
|
</select> |
||||
|
|
||||
|
<!-- 统计记录--> |
||||
|
<select id="countRs" resultType="java.lang.Integer" parameterType="java.util.Map"> |
||||
|
SELECT COUNT(*) |
||||
|
FROM <include refid="tbName"/> |
||||
|
<if test="gmap!=null and gmap!=''"> |
||||
|
<where> |
||||
|
<foreach collection="gmap" index="k" item="v" separator="and"> |
||||
|
<if test="k!='sokey'"> |
||||
|
${k}=${v} |
||||
|
</if> |
||||
|
<if test="k=='sokey'"> |
||||
|
${v} |
||||
|
</if> |
||||
|
</foreach> |
||||
|
</where> |
||||
|
</if> |
||||
|
</select> |
||||
|
|
||||
|
<!--添加 --> |
||||
|
<insert id="addRs" parameterType="io.xtfs.jwebfs.bean.WbFile" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> |
||||
|
INSERT INTO <include refid="tbName"/> |
||||
|
(filename,filehash) |
||||
|
VALUES |
||||
|
(#{filename},#{filehash}) |
||||
|
</insert> |
||||
|
|
||||
|
<!--更新--> |
||||
|
<update id="updateRS" parameterType="io.xtfs.jwebfs.bean.WbFile"> |
||||
|
UPDATE <include refid="tbName"/> |
||||
|
<set> |
||||
|
<if test="filename!=null"> |
||||
|
filename=#{filename}, |
||||
|
</if> |
||||
|
<if test="filehas!=null"> |
||||
|
filehash=#{filehash} |
||||
|
</if> |
||||
|
|
||||
|
</set> |
||||
|
WHERE good_id=#{goods_id} |
||||
|
</update> |
||||
|
</mapper> |
||||
@ -0,0 +1,38 @@ |
|||||
|
package io.xtfs.jwebfs.mapper; |
||||
|
|
||||
|
import io.xtfs.jwebfs.bean.WbFile; |
||||
|
import org.junit.Test; |
||||
|
import org.junit.runner.RunWith; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.boot.test.context.SpringBootTest; |
||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; |
||||
|
|
||||
|
import static org.junit.Assert.*; |
||||
|
|
||||
|
@SpringBootTest |
||||
|
@RunWith(SpringJUnit4ClassRunner.class) |
||||
|
public class WbFileMapperTest { |
||||
|
@Autowired |
||||
|
private WbFileMapper wbFileMapper; |
||||
|
|
||||
|
@Test |
||||
|
public void addRs() { |
||||
|
WbFile wbFile = new WbFile(); |
||||
|
wbFile.setFilehash("ss"); |
||||
|
wbFile.setFilenmae("test"); |
||||
|
int rt= wbFileMapper.addRs(wbFile); |
||||
|
System.out.println(rt); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void getWbFileByMap() { |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void getWbfileById() { |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void countRs() { |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue