diff --git a/.gitignore b/.gitignore index 67a76db..ead610e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,5 @@ src/main/webapp/WEB-INF/classes/ src/main/webapp/WEB-INF/lib/ src/main/webapp/WEB-INF/tmp/ src/test/java/Test.java +src/test/resources/custom/db.properties target/ diff --git a/src/main/java/band/wukong/mz/g/sku/dao/impl/SkuDaoImpl.java b/src/main/java/band/wukong/mz/g/sku/dao/impl/SkuDaoImpl.java index 0f520c7..d23017a 100644 --- a/src/main/java/band/wukong/mz/g/sku/dao/impl/SkuDaoImpl.java +++ b/src/main/java/band/wukong/mz/g/sku/dao/impl/SkuDaoImpl.java @@ -109,25 +109,15 @@ public QueryResult list(String cateCode, String qcond, int pageNum, int pageSize throw new IllegalParameterException(); } - String exp = - "select t1.id as 'g.id', t1.cate_code as 'g.cate_code', t1.gname as 'g.gname'\n" + - " , t.id as 'sc.id', t.sid as 'sc.sid', t.model as 'sc.model', t.img as 'sc.img', t.pprice as 'sc.pprice', t1.id as 'sc.goods_id'\n" + - " , sum(t2.count) as 'sc.count'\n" + - "from t_sku t\n" + - "inner join t_goods t1 on t1.id = t.goods_id\n" + - "inner join t_sku_more t2 on t2.sku_id = t.id\n" + - "where t.state = @t_state and t1.state = @t1_state\n" + - "and t1.cate_code like @cate_code\n" + - "and (t.sid like @qcond or t1.gname like @qcond)\n" + - "group by t.id"; - - Sql sql = Sqls.queryRecord(exp); + Sql sql = dao.sqls().create("sku.list"); sql.params().set("t_state", Sku.STATE_ON); sql.params().set("t1_state", Goods.STATE_OK); sql.params().set("cate_code", cateCode + "%"); sql.params().set("qcond", "%" + qcond + "%"); + sql.setCallback(Sqls.callback.records()); + int count = count4List(sql.getSourceSql(), cateCode, qcond); Pager pager = NutzDaoHelper.createPager(pageNum, pageSize, count); sql.setPager(pager); diff --git a/src/main/java/band/wukong/mz/nutz/test/NutzTestHelper.java b/src/main/java/band/wukong/mz/nutz/test/NutzTestHelper.java index 4222ebd..27a8191 100644 --- a/src/main/java/band/wukong/mz/nutz/test/NutzTestHelper.java +++ b/src/main/java/band/wukong/mz/nutz/test/NutzTestHelper.java @@ -19,7 +19,7 @@ public static Ioc createIoc() { try { ioc = new NutIoc(new ComboIocLoader( // "*org.nutz.ioc.loader.json.JsonLoader", "db.js", "beans.js", - "*org.nutz.ioc.loader.json.JsonLoader", "ioc/", + "*org.nutz.ioc.loader.json.JsonLoader", "ioc/", "sqls/", "*org.nutz.ioc.loader.annotation.AnnotationIocLoader", "band.wukong.mz" )); } catch (ClassNotFoundException e) { diff --git a/src/main/resources/ioc/db.js b/src/main/resources/ioc/db.js index 8bf29fb..c029c5d 100644 --- a/src/main/resources/ioc/db.js +++ b/src/main/resources/ioc/db.js @@ -32,10 +32,15 @@ var ioc = { */ } }, + sqlManager: { + type: "org.nutz.dao.impl.FileSqlManager", + args: "sqls/" + }, dao: { type: "org.nutz.dao.impl.NutDao", args: [ - {refer: "dataSource"} + {refer: "dataSource"}, + {refer: "sqlManager"} ] } }; diff --git a/src/main/resources/sqls/sku/SkuDaoImpl.sql b/src/main/resources/sqls/sku/SkuDaoImpl.sql new file mode 100644 index 0000000..9e06a0d --- /dev/null +++ b/src/main/resources/sqls/sku/SkuDaoImpl.sql @@ -0,0 +1,11 @@ +/* sku.list */ +select t1.id as 'g.id', t1.cate_code as 'g.cate_code', t1.gname as 'g.gname' + , t.id as 'sc.id', t.sid as 'sc.sid', t.model as 'sc.model', t.img as 'sc.img', t.pprice as 'sc.pprice', t1.id as 'sc.goods_id' + , sum(t2.count) as 'sc.count' +from t_sku t +inner join t_goods t1 on t1.id = t.goods_id +inner join t_sku_more t2 on t2.sku_id = t.id +where t.state = @t_state and t1.state = @t1_state +and t1.cate_code like @cate_code +and (t.sid like @qcond or t1.gname like @qcond) +group by t.id diff --git a/src/test/resources/custom/db.properties b/src/test/resources/custom/db.properties index f171820..faf70e3 100644 --- a/src/test/resources/custom/db.properties +++ b/src/test/resources/custom/db.properties @@ -1,10 +1,4 @@ db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/mz-g?characterEncoding=utf-8 db.username=root -db.password=000000 - -db.testWhileIdle=true -db.validationQuery=select 1 -db.maxActive=2 -db.filters=mergeStat -db.connectionProperties=druid.stat.slowSqlMillis=2000 \ No newline at end of file +db.password=000000 \ No newline at end of file diff --git a/src/test/resources/ioc/db.js b/src/test/resources/ioc/db.js index 873c42e..2a2fd0f 100644 --- a/src/test/resources/ioc/db.js +++ b/src/test/resources/ioc/db.js @@ -32,10 +32,15 @@ var ioc = { */ } }, + sqlManager: { + type: "org.nutz.dao.impl.FileSqlManager", + args: "sqls/" + }, dao: { type: "org.nutz.dao.impl.NutDao", args: [ - {refer: "dataSource"} + {refer: "dataSource"}, + {refer: "sqlManager"} ] } }; diff --git a/src/test/resources/log4j.properties b/src/test/resources/log4j.properties index efb93e9..8ee3fe6 100644 --- a/src/test/resources/log4j.properties +++ b/src/test/resources/log4j.properties @@ -10,5 +10,5 @@ log4j.appender.logfile.MaxBackupIndex=3 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=Log4j: %d{HH:mm:ss} %-5p %20c [%M] - %m%n -log4j.logger.org.nutz=info +log4j.logger.org.nutz=debug log4j.logger.band.wukong=debug