常用依赖,并且管理起来
Q1:父模块
4.0.0
com.zhangyuwei.dependfather
DependFather
pom
1.0-SNAPSHOT
Depend-dao
Depend-entities
Depend-ui
Depend-common
Depend-service
UTF-8
1.0-SNAPSHOT
1.0-SNAPSHOT
1.0-SNAPSHOT
1.0-SNAPSHOT
2.7.4
3.4
2.6.1
4.12
4.3.0.RELEASE
1.8.9
3.2.4
1.3.0
8.0.11
3.4.6
0.9.5.2
3.11
3.0.1
1.2
2.1
2.4
1.3.1
1.1.1
1.1.2
4.3.18.RELEASE
com.zhangyuwei.dependfather
Depend-common
${Depend-common.version}
com.zhangyuwei.dependfather
Depend-entities
${Depend-entities.version}
com.zhangyuwei.dependfather
Depend-dao
${Depend-dao.version}
com.zhangyuwei.dependfather
Depend-service
${Depend-service.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
com.fasterxml.jackson.core
jackson-core
${jackson.version}
com.fasterxml.jackson.core
jackson-annotations
${jackson.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
org.apache.logging.log4j
log4j-api
${log4j.version}
org.apache.logging.log4j
log4j-core
${log4j.version}
junit
junit
${junit.version}
org.springframework
spring-test
${spring-test.version}
org.springframework
spring-context
${spring.version}
org.aspectj
aspectjweaver
${aspectjweaver.version}
cglib
cglib
${cglib.version}
org.mybatis
mybatis-spring
${spring-mybatis.version}
org.springframework
spring-jdbc
${spring.version}
mysql
mysql-connector-java
${mysql-connector-java.version}
org.mybatis
mybatis
${mybatis.version}
com.mchange
c3p0
${c3p0.version}
org.apache.poi
poi
${poi.version}
org.apache.poi
poi-ooxml
${poi.version}
org.apache.poi
poi-ooxml-schemas
${poi.version}
javax.servlet
javax.servlet-api
${javax.servlet-api.version}
provided
javax.servlet
jstl
${jstl.version}
javax.servlet.jsp
jsp-api
${jsp-api.version}
provided
commons-io
commons-io
${commons-io.version}
commons-fileupload
commons-fileupload
${commons-fileupload.version}
com.googlecode.json-simple
json-simple
${json-simple.version}
taglibs
standard
${standard.version}
org.springframework
spring-webmvc
${spring.version}
Q2:common模块
DependFather
com.zhangyuwei.dependfather
1.0-SNAPSHOT
4.0.0
Depend-common
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.core
jackson-core
com.fasterxml.jackson.core
jackson-annotations
org.apache.commons
commons-lang3
Q3:dao模块
DependFather
com.zhangyuwei.dependfather
1.0-SNAPSHOT
4.0.0
Depend-dao
com.zhangyuwei.dependfather
Depend-common
com.zhangyuwei.dependfather
Depend-entities
org.apache.logging.log4j
log4j-core
junit
junit
org.springframework
spring-test
org.springframework
spring-context
org.aspectj
aspectjweaver
cglib
cglib
org.mybatis
mybatis-spring
org.springframework
spring-jdbc
mysql
mysql-connector-java
org.mybatis
mybatis
com.mchange
c3p0
org.springframework
spring-webmvc
Q4:services模块
DependFather
com.zhangyuwei.dependfather
1.0-SNAPSHOT
4.0.0
Depend-service
com.zhangyuwei.dependfather
Depend-dao
Q5:ui模块
DependFather
com.zhangyuwei.dependfather
1.0-SNAPSHOT
4.0.0
Depend-ui
war
Depend-ui Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
com.zhangyuwei.dependfather
Depend-service
javax.servlet
javax.servlet-api
provided
javax.servlet
jstl
javax.servlet.jsp
jsp-api
provided
org.apache.poi
poi
org.apache.poi
poi-ooxml
org.apache.poi
poi-ooxml-schemas
Depend-ui
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-war-plugin
3.2.0
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
Q6:GoodMapper.xml
/p>
PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select*from good
insert into good(gName,gPrice,gPicture) values(#{gname},#{gprice},#{gpicture})
update good set gName=#{gname},gPrice=#{gprice},gPicture=#{gpicture} where gId=#{gid}
delete from good where gId=#{gid}
select count(*)from good
select count(*)from good
gName like'%${gname}%'
and gprice=#{gprice}
select*from good where gId=#{gid}
select*from good limit ${param1},${param2}
select*from good
gName like'%${gname}%'
and gprice=#{gprice}
limit ${page},${limit}
select*from good limit ${page},${limit}
select*from good
gName like'%${gname}%'
and gId=#{gid}
and gprice=#{gprice}
and gpicture=#{gpicture}
delete from good#{gid}
Q7:applicationiContext.xml
View Code
Q8:dbconfig.properties
#mysql jdbc
mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/GoodDB?serverTimezone=GMT%2B8
mysql.uid=root
mysql.pwd=caoyu3520563253
c3p0.acquireIncrement=5c3p0.initialPoolSize=10c3p0.minPoolSize=5c3p0.maxPoolSize=20
View Code
Q9:mybatisConf.xml
/p>
PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
View Code
Q10:web.xml
设置Spring加载时的配置文件位置,默认位置在WEB-INF/lib目录下
contextConfigLocation
classpath*:applicationContext.xml
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:springmvc-servlet.xml
1
5242880
20971520
0
springmvc
/
default
*.js
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
View Code
Q11:springmvc-servlet.xml
class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
View Code
Q12:servlet
packagecom.zhangyuwei.depend.controller;importcom.zhangyuwei.depend.common.util.R;importcom.zhangyuwei.depend.entities.Good;importcom.zhangyuwei.depend.entities.UpLoad;importcom.zhangyuwei.depend.mapper.IGoodDao;importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.CellStyle;importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.multipart.MultipartFile;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.math.BigDecimal;importjava.util.HashMap;importjava.util.List;importjava.util.Map;
@Controller
@RequestMapping("/GoodServlet")public classgoodServlet {/*IGoodDao ia=new goodDao();*/ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
IGoodDao dao=ctx.getBean(IGoodDao.class);
@RequestMapping("/test")publicString test(Model model){
model.addAttribute("message","我是一个测试类");return "index";
}/*查询所有商品*/@RequestMapping("/selectAllGood")
@ResponseBodypublic ListselectAllGood(){
List entity=dao.selectAllGood();returnentity;
}/*添加商品*/@RequestMapping(value= "/insertGood",method =RequestMethod.POST)
@ResponseBodypublic void insertGood(@RequestBody List goodList, HttpServletResponse response) throwsIOException {/*解决服务端的乱码问题*/response.setCharacterEncoding("utf-8");
Good good=newGood();
good.setGname(goodList.get(0).getGname());
good.setGprice(goodList.get(0).getGprice());
good.setGpicture(goodList.get(0).getGpicture());int row=dao.insertGood(good);if(row>0){
response.getWriter().print("添加成功!");
}else{
response.getWriter().print("添加失败!");
}
}/*修改商品*/@RequestMapping(value= "/updateGood",method =RequestMethod.POST)
@ResponseBodypublic void updateGood(@RequestBody List goodList,HttpServletResponse response) throwsIOException {/*解决服务端的乱码问题*/response.setCharacterEncoding("utf-8");
Good good=newGood();
good.setGname(goodList.get(0).getGname());
good.setGprice(goodList.get(0).getGprice());
good.setGpicture(goodList.get(0).getGpicture());
good.setGid(goodList.get(0).getGid());int row=dao.updateGood(good);if(row>0){
response.getWriter().print("修改成功!");
}else{
response.getWriter().print("修改失败!");
}
}/*删除商品*/@RequestMapping(value= "/deleteGood",method =RequestMethod.POST)
@ResponseBodypublic R deleteGood(/*@RequestBody Integer gid,*/HttpServletResponse response,HttpServletRequest request){/*解决服务端的乱码问题*/response.setCharacterEncoding("utf-8");int gid=Integer.parseInt(request.getParameter("gId"));int row=dao.deleteGood(gid);if(row>0) {/*try {
response.getWriter().print(R.ok("删除成功"));
} catch (IOException e) {
e.printStackTrace();
}
//response.getWriter().print("删除成功!");
}else{
try {
response.getWriter().print("删除失败!");
} catch (IOException e) {
e.printStackTrace();
}
}*/
return R.ok("删除成功!");
}return R.error("删除失败!");
}/*多项删除*/@RequestMapping("/deleteGoodMore")
@ResponseBodypublic void deleteGoodMore(@RequestBody List integerList,HttpServletResponse response) throwsIOException {/*解决服务端的乱码问题*/response.setCharacterEncoding("utf-8");int row=dao.deleteGoodMore(integerList);if(row==integerList.size()){
response.getWriter().print("删除成功!");
}else{
response.getWriter().print("删除失败!");
}
}/*查询商品数量*/@RequestMapping("/selectGoodCount")
@ResponseBodypublic intselectGoodCount(){int count=dao.selectGoodCount();returncount;
}/*查询商品数量根据查询条件*/@RequestMapping("/selectGoodCountMoreIf")
@ResponseBodypublic int selectGoodCountMoreIf(@RequestBody ListobjectList){
Map map=new HashMap<>();
map.put("gname",objectList.get(0));
map.put("gprice",objectList.get(1));int count=dao.selectGoodCountMoreIf(map);returncount;
}/*分页与查询之间的组合*/@RequestMapping(value= "/selectGoodMoreIfPage",method =RequestMethod.POST)
@ResponseBodypublic List selectGoodMoreIfPage(@RequestBody ListintegerList){
Map map=new HashMap<>();
Object page=integerList.get(0);Object limit=integerList.get(1);int pages=(int)page;int limits=(int)limit;
map.put("page",(pages-1)*limits);
map.put("limit",limits);
map.put("gname",integerList.get(2));
map.put("gprice",integerList.get(3));
List entity=dao.selectGoodMoreIfPage(map);returnentity;
}/*分页*/@RequestMapping("/selectGoodPage")
@ResponseBodypublic List selectGoodPage(@RequestBody ListintegerList){
List entity=dao.selectGoodPage((integerList.get(0)-1)*(integerList.get(1)),integerList.get(1));returnentity;
}/*多条件查询*/@RequestMapping(value= "/selectGoodMoreIf",method =RequestMethod.POST)
@ResponseBodypublic List selectGoodMoreIf(@RequestBody ListgoodList){
Map map=new HashMap();
map.put("gname",goodList.get(0).getGname());
map.put("gprice",goodList.get(0).getGprice());
List entity=dao.selectGoodMoreIf(map);returnentity;
}/*文件上传*/@RequestMapping(value= "fileSave",method =RequestMethod.POST)
@ResponseBodypublic UpLoad fileSave(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throwsException{//文件存放的位置
String path=request.getServletContext().getRealPath("/image");
File fi=newFile(path);if(!fi.exists()){
fi.mkdir();
}
File tempFile=newFile(path, file.getOriginalFilename());
file.transferTo(tempFile);
System.out.println(tempFile.getName());
UpLoad upLoad=newUpLoad();
upLoad.setCode(0);
upLoad.setMsg("上传成功!");
upLoad.setData(tempFile.getName());//response.getWriter().print(upLoad);
returnupLoad;
}/*导出数据到Excel表格*/@RequestMapping(value= "/joinxml",method =RequestMethod.GET)
@ResponseBodypublic void joinXml(HttpServletResponse response) throwsIOException {//数据的来源
List entity=dao.selectAllGood();//设置标题
String head = "商品信息详细展示";//设置表头行
String[] headrow = {"编号", "名称", "价格","图片路径"};if (null != entity && entity.size() > 0) {
String fileName= "商品信息.xls";//定义导出头
response.setHeader("Content-disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1")); //设置文件头编码格式
response.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8");//设置类型
response.setHeader("Cache-Control", "no-cache");//设置头
response.setDateHeader("Expires", 0);//设置日期头//创建工作簿HSSFWorkbook 对象
HSSFWorkbook book = newHSSFWorkbook();//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet =book.createSheet();//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow(0);//由工作簿创建表HSSFSheet对象
CellStyle cellStyle =book.createCellStyle();
cellStyle.setDataFormat(book.createDataFormat().getFormat("yyyy-MM-dd"));//设置表头
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue(head);
row= sheet.createRow(1);for (int i = 0; i < headrow.length; i++) {
cell= row.createCell((short) i);
cell.setCellValue(headrow[i]);
}for (int i = 0; i < entity.size(); i++) {//实体类对象
row = sheet.createRow((i + 2));
BigDecimal money=entity.get(i).getGprice();
row.createCell((short) 0).setCellValue(entity.get(i).getGid());
row.createCell((short) 1).setCellValue(entity.get(i).getGname());
row.createCell((short) 2).setCellValue(money+"");
row.createCell((short) 3).setCellValue(entity.get(i).getGpicture());
}//写出流 刷新缓冲流 关闭流对象
book.write(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}
}/*** 导入数据到Excel表格
*excel表格的形式为xlsx
*@throwsIOException*/@RequestMapping(value= "/outxml",method =RequestMethod.POST)
@SuppressWarnings("resource")public String excels(MultipartFile files, HttpServletResponse response, HttpServletRequest request) throwsIOException, ServletException {//文件存放的位置
String path=request.getSession().getServletContext().getRealPath("/files2");
File f=newFile(path);if(!f.exists()){
f.mkdir();
}//保存文件3
File tempFile=newFile(path, files.getOriginalFilename());
files.transferTo(tempFile);//把文件从内存存到磁盘中
System.out.println(path+"\\"+files.getOriginalFilename());//Excel导入数据
InputStream is = new FileInputStream(path+"\\"+files.getOriginalFilename());
XSSFWorkbook xssfWorkbook= newXSSFWorkbook(is);
Good emp= newGood();//循环工作表Sheet
int row=0;int len=0;for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {
XSSFSheet xssfSheet=xssfWorkbook.getSheetAt(numSheet);if (xssfSheet == null) {continue;
}//循环行Row
for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
XSSFRow xssfRow=xssfSheet.getRow(rowNum);if (xssfRow != null) {
len++;
XSSFCell gname= xssfRow.getCell(0);
XSSFCell gprice= xssfRow.getCell(1);
XSSFCell gpicture= xssfRow.getCell(2);/*String vaId=getValue(eid);
String[] arr=vaId.split(".");*/
//double vaId=Double.parseDouble(eid.toString());//int vaintId=(int)vaId;
Double valMoney=Double.parseDouble(getValue(gprice));
BigDecimal bMoney=newBigDecimal(valMoney);
emp.setGname(getValue(gname));
emp.setGprice(bMoney);
emp.setGpicture(getValue(gpicture));if(dao.insertGood(emp)>0){
row++;
}
}
}
}if(row==len){try{
response.getWriter().print("添加成功!");
}catch(IOException es) {
es.printStackTrace();
}
}else{try{
response.getWriter().print("添加失败!");
}catch(IOException es) {
es.printStackTrace();
}
}//request.getRequestDispatcher("index.html").forward(request, response);
return "redirect:http://localhost:8080/";
}
@SuppressWarnings("static-access")privateString getValue(XSSFCell xssfCell) {if (xssfCell.getCellType() ==xssfCell.CELL_TYPE_BOOLEAN) {//返回布尔类型的值
returnString.valueOf(xssfCell.getBooleanCellValue());
}else if (xssfCell.getCellType() ==xssfCell.CELL_TYPE_NUMERIC) {//返回数值类型的值
returnString.valueOf(xssfCell.getNumericCellValue());
}else{//返回字符串类型的值
returnString.valueOf(xssfCell.getStringCellValue());
}
}
}
View Code
Q13:index.html
Titletable{width:100%;text-align: center;}
#test10{background-size: 100% 100%;background-repeat: no-repeat}
导入xml
编号名称价格图片操作
数据操作
名称:
价格:
图片:
点击上传,或将文件拖拽到此处
var $=layui.jquery
, upload=layui.upload;
upload.render({
elem:'#test10',url:'GoodServlet/fileSave',method:'post',done: function(res){
$("#test10").css("backgroundImage","url(image/"+res.data+")");
gpicture=res.data;
}
});
});/*分页*/var pages="";var limits="";
layui.use(['laypage', 'layer'], function() {
var laypage=layui.laypage
, layer=layui.layer;//分页方法
function selectPage() {/*查询所有*/var number= "";
var names= $("#nameMoreIf").val();
var prices=$("#priceMoreIf").val();
var objectList=[];
objectList.push(names);
objectList.push(prices);/*var objectList=new Array();
objectList.push({"gname":names},
{"gprice":prices});*/$.ajax({
url:'GoodServlet/selectGoodCountMoreIf',
type:'post',
data:JSON.stringify(objectList),
contentType:'application/json;charset=UTF-8',
success:function (result) {
number=result;/*分页查询*/laypage.render({
elem:'demo11', count: number//数据总数
, limit: 4, curr: pages
, jump: function (objs) {
pages=objs.curr;
limits=objs.limit;
var integerList=[];
integerList.push(pages);
integerList.push(limits);
integerList.push(names);
integerList.push(prices);
console.log(integerList);/*得到返回结果*/
/*先清除数据*/$("#tbodyShow tr").remove();
$.ajax({
type:'post',
url:'GoodServlet/selectGoodMoreIfPage',
data: JSON.stringify(integerList),
contentType:'application/json;charset=UTF-8',
beforeSend:function(){
console.log(integerList);
},
success: function (result) {
$.each(result,function (i,obj) {
$("
").append($("").data("obj",obj.gid)).append($("
").html(obj.gid)).append($("
").html(obj.gname)).append($("
").html(obj.gprice)).append($("
").html($(".append($("").data("obj",obj.gid))
.append($("").data("obj",obj))
.appendTo($("#tbodyShow"));
});
}
});
}
});
}
});
};/*删改查*/var app={/*select:function(){
$("#tbodyShow tr").remove();
$.ajax({
url:'GoodServlet/selectAllGood',
type:'post',
contentType:'application/json;charset=UTF-8',
dataType:'json',
success:function (result) {
$.each(result,function (i,obj) {
$("
").append($("").data("obj",obj.gid)).append($("
").html(obj.gid)).append($("
").html(obj.gname)).append($("
").html(obj.gprice)).append($("
").html($(".append($("").data("obj",obj.gid))
.append($("").data("obj",obj))
.appendTo($("#tbodyShow"));
});
}
});
},*/
/*添加*/insert:function(){
var goodList=newArray();if($("#gname").val()=="" || $("#gprice").val()==""){
alert("名称或价格不能为空!");return false;
}
goodList.push({
gname: $("#gname").val(),
gprice:$("#gprice").val(),
gpicture:gpicture
});
$.ajax({
url:'GoodServlet/insertGood',
type:'post',
data: JSON.stringify(goodList),
contentType:'application/json;charset=UTF-8',
success:function (result) {
alert(result);selectPage();
$("#gname").val("");$("#gprice").val("");gpicture="";
$("#test10").css("backgroundImage","");
}
});
},/*删除*/del:function(obj){if(confirm("是否要删除?")) {
var gid=obj;
$.ajax({
url:'GoodServlet/deleteGood',
type:'post',//data: JSON.stringify(gid),
data: {"gId": gid},//contentType:'application/json;charset=UTF-8',
success: function (result) {
alert(result.msg);
selectPage();
}
});
}
},/*修改*/update:function(){
var goodList=newArray();if($("#gname").val()=="" || $("#gprice").val()==""){
alert("名称或价格不能为空!");return false;
}
goodList.push({
gname: $("#gname").val(),
gprice:$("#gprice").val(),
gpicture:gpicture,
gid:updateid
});
$.ajax({
url:'GoodServlet/updateGood',
type:'post',
data: JSON.stringify(goodList),
contentType:'application/json;charset=UTF-8',
success:function (result) {
alert(result);selectPage();
$("#gname").val("");$("#gprice").val("");gpicture="";
$("#test10").css("backgroundImage","");updateid="";
}
});
},/*多项删除*/deleteMore:function(){if(confirm("是否要删除?")) {
var integerList=[];
$(".cheBoxSon:checked").each(function () {
integerList.push($(this).val());
});
$.ajax({
url:'GoodServlet/deleteGoodMore',
type:'post',
data: JSON.stringify(integerList),
contentType:'application/json;charset=UTF-8',
success: function (result) {
alert(result);
selectPage();
}
});
}
},/*点击事件*/clicks:function(){
$("#tbodyShow").on("click",".btnDel",function () {
var gid=$(this).data("obj");
app.del(gid);
});
$("#btnAdd").click(function () {
app.insert();
});
$("#tbodyShow").on("click",".btnEdit",function () {
var obj=$(this).data("obj");
updateid=obj.gid;
$("#gname").val(obj.gname);$("#gprice").val(obj.gprice);
$("#test10").css("backgroundImage","url(image/"+obj.gpicture+")");
gpicture=obj.gpicture;
});
$("#btnUpdate").click(function () {
app.update();
});
$(".cheBoxMain").click(function () {if($(".cheBoxMain").prop("checked")==true){
$(".cheBoxSon").prop("checked",true);
}else if($(".cheBoxMain").prop("checked")==false){
$(".cheBoxSon").prop("checked",false);
}
});
$("#tbodyShow").on("click",".cheBoxSon",function () {if($(this).prop("checked")==false){
$(this).prop("checked",false);
$(".cheBoxMain").prop("checked",false);
}if($(this).prop("checked")==true){
$(this).prop("checked",true);
}if(($(".cheBoxSon:checked").length)==($(".cheBoxSon").length)){
$(".cheBoxMain").prop("checked",true);
}
});
$("#btnMoreDelete").click(function () {
app.deleteMore();
});/*多条件查询*/$("#btnMoreIf").click(function () {/*var goodList=new Array();
goodList.push({
gname: $("#nameMoreIf").val(),
gprice:$("#priceMoreIf").val()
});
$.ajax({
url:'GoodServlet/selectGoodMoreIf',
type:'post',
data: JSON.stringify(goodList),
contentType:'application/json;charset=UTF-8',
success:function (result) {
/!*先清除数据*!/
$("#tbodyShow tr").remove();
$.each(result,function (i,obj) {
$("
").append($("").data("obj",obj.gid)).append($("
").html(obj.gid)).append($("
").html(obj.gname)).append($("
").html(obj.gprice)).append($("
").html($(".append($("").data("obj",obj.gid))
.append($("").data("obj",obj))
.appendTo($("#tbodyShow"));
});
$("#nameMoreIf").val("");$("#priceMoreIf").val("");
}
});*/selectPage();
});
},/*初始化*/init:function () {
selectPage();
app.clicks();
}
};
app.init();
});
Q14:不污染数据库test
packagecom.zhangyuwei.depend.dao;importcom.zhangyuwei.depend.entities.Good;importcom.zhangyuwei.depend.entities.GoodPage;importcom.zhangyuwei.depend.mapper.IGoodDao;importorg.junit.Assert;importorg.junit.Test;importorg.junit.runner.RunWith;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.test.annotation.Rollback;importorg.springframework.test.context.ContextConfiguration;importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner;importorg.springframework.transaction.annotation.Transactional;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;
@ContextConfiguration(locations= { "classpath:applicationContext.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
@Rollbackpublic classgoodDaoTestPro {
@Autowired
IGoodDao dao;
@Testpublic voidselectAllGood(){
System.out.println(dao.selectAllGood());
}
@Testpublic voiddeleteGood(){int gid=1;int row=dao.deleteGood(gid);
Assert.assertEquals(1,row);
}
@Testpublic voidselectGoodMoreIfPage(){int page=1;int limit=10;
Map map=new HashMap();
map.put("gname","益达尊享护齿装草本40粒+冰柠40粒+西");
map.put("gprice",25.9);
map.put("page",page);
map.put("limit",limit);
List entity=dao.selectGoodMoreIfPage(map);
System.out.println(entity);
}
@Testpublic voidselectGoodMoreIfPage2(){
List pageList=new ArrayList();
GoodPage gp=newGoodPage();
gp.setPage(1);
gp.setLimit(10);
pageList.add(gp);
List entity=dao.selectGoodMoreIfPage2(pageList);
System.out.println(entity);
}
@Testpublic voidselectGoodCountMoreIf(){
Map map=new HashMap();
map.put("gname","");
map.put("gprice","");int count=dao.selectGoodCountMoreIf(map);
System.out.println(count);
}
}
View Code
Q15:接口IGoodDao
packagecom.zhangyuwei.depend.mapper;importcom.zhangyuwei.depend.entities.Good;importcom.zhangyuwei.depend.entities.GoodPage;importorg.apache.ibatis.annotations.Param;importorg.junit.Test;importjava.util.List;importjava.util.Map;public interfaceIGoodDao {/*查询所有商品*/ListselectAllGood();/*添加商品*/
intinsertGood(Good entity);/*修改商品*/
intupdateGood(Good entity);/*删除商品*/
int deleteGood(intgid);/*查询商品个数*/
intselectGoodCount();/*查询商品个数带有条件*/
int selectGoodCountMoreIf(Mapmap);/*根据编号进行查询*/List selectGoodById(intgid);/*分页与多查询之间的组合*/List selectGoodMoreIfPage(Mapmap);/*分页与多查询之间的组合*/List selectGoodMoreIfPage2(Listlistpage);/*分页*/List selectGoodPage(int param1,intparam2);/*多条件查询*/List selectGoodMoreIf(Mapmap);/*批量删除*/
int deleteGoodMore(Listentity);
}
View Code