一、applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- 自动扫描的包名 -->
<!-- 自动扫描的包名 -->
<context:component-scan base-package="com.zte.*" />
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 数据源配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
<!-- 初始化连接大小 -->
<property name="initialSize" value="${dbcp.initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${dbcp.maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${dbcp.maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${dbcp.minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${dbcp.maxWait}"></property>
</bean>
<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- define the SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.zte.model" />
<property name="mapperLocations" value="classpath:com/zte/dao/mapper/*Mapper.xml" />
</bean>
<!-- scan for mappers and let them be autowired -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.zte.dao" />
</bean>
</beans>
二、jdbc.properties
详细配置请参考:http://blog.csdn.net/lost_wen/article/details/53302035
dbcp.initialSize=0
dbcp.minIdle=0
dbcp.maxActive=80
dbcp.maxIdle=30
dbcp.maxWait=3000
jdbc.driverClassName = com.mysql.jdbc.Driver
#jdbc.url =jdbc:oracle:thin:@localhost:1521:orcl
jdbc.url= jdbc:mysql://10.43.147.180:3306/ontylogy?useUnicode=true&characterEncoding=UTF-8
jdbc.username = root
jdbc.password =mysql180
三、log4j.properties
### set log levels ###
log4j.rootLogger = debug , stdout , D , E
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%d{HH:mm:ss}] %5p %c{2} \"%m\"%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/ZSearch_log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ../logs/ZSearch_error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
四、web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>circcenter</display-name>
<welcome-file-list>
<welcome-file>datatables.html</welcome-file>
</welcome-file-list>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.swf</url-pattern>
<url-pattern>*.pdf</url-pattern>
<url-pattern>*.java</url-pattern>
<url-pattern>*.class</url-pattern>
<url-pattern>*.xls</url-pattern>
<url-pattern>*.xlsx</url-pattern>
<url-pattern>*.et</url-pattern>
<url-pattern>*.vm</url-pattern>
<url-pattern>*.eot</url-pattern>
<url-pattern>*.svg</url-pattern>
<url-pattern>*.ttf</url-pattern>
<url-pattern>*.woff</url-pattern>
<url-pattern>*.woff2</url-pattern>
<url-pattern>*.otf</url-pattern>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
五、MVC部分
1、com.zte.model.LabelList.java
package com.zte.model;
public class LabelList {
private int serial_id;
private int object_id;
private String lable_name;
private int lable_type;
private int isStd;
private String typeName;
private int labBigType;
public int getSerial_id() {
return serial_id;
}
public void setSerial_id(int serial_id) {
this.serial_id = serial_id;
}
public int getObject_id() {
return object_id;
}
public void setObject_id(int object_id) {
this.object_id = object_id;
}
public String getLable_name() {
return lable_name;
}
public void setLable_name(String lable_name) {
this.lable_name = lable_name;
}
public int getLable_type() {
return lable_type;
}
public void setLable_type(int lable_type) {
this.lable_type = lable_type;
}
public int getIsStd() {
return isStd;
}
public void setIsStd(int isStd) {
this.isStd = isStd;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public int getLabBigType() {
return labBigType;
}
public void setLabBigType(int labBigType) {
this.labBigType = labBigType;
}
}
2、com.zte.dao.LabelListMapper.java
package com.zte.dao;
import java.util.List;
import com.zte.model.LabelList;
public interface LabelListMapper {
/**
* 查询所有的Label(上面表格部分内容)
* @return list
*/
public List<LabelList> selectAll(int object_id);
/**
* 删除单行Label(上面表格部分内容)
* @param serialId
* @return int
*/
public int delete(int serial_id);
/**
* 新增一行Label(上面表格部分内容)
* @param labelList
* @return int
*/
public int insert(LabelList labelList);
/**
* 修改某一行"名称"和"Label"(上面表格部分内容)
* @param labelList
* @return int
*/
public int update(LabelList labelList);
}
3、com.zte.dao.mapper.LabelListMapper.xml
<?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.zte.dao.LabelListMapper">
<select id="selectAll" resultType="com.zte.model.LabelList">
select serial_id,object_id,lable_name,lable_type
from ZTE_OWL_ONTOLOGY_LABLE t
where object_id=#{object_id} and lable_type between 0 and 3 order by serial_id asc
</select>
<insert id="insert" parameterType="com.zte.model.LabelList">
insert into ZTE_OWL_ONTOLOGY_LABLE(object_id,lable_name,lable_type)
values(#{object_id},#{lable_name},#{lable_type})
</insert>
<delete id="delete" parameterType="int">
delete from ZTE_OWL_ONTOLOGY_LABLE
where serial_id=#{serial_id}
</delete>
<update id="update" parameterType="com.zte.model.LabelList">
update ZTE_OWL_ONTOLOGY_LABLE
set lable_name=#{lable_name},lable_type=#{lable_type}
where serial_id=#{serial_id}
</update>
</mapper>
4、com.zte.service.LabelListService.java
package com.zte.service;
import java.util.List;
import org.springframework.stereotype.Service;
import com.zte.model.LabelList;
@Service
public interface LabelListService {
/**
* 查询所有的Label(上面表格部分内容)
* @return list
*/
public List<LabelList> selectAll(int object_id);
/**
* 删除单行Label(上面表格部分内容)
* @param serialId
* @return int
*/
public int delete(int serial_id);
/**
* 新增一行Label(上面表格部分内容)
* @param labelList
* @return int
*/
public int insert(LabelList labelList);
/**
* 修改某一行"名称"和"Label"(上面表格部分内容)
* @param labelList
* @return int
*/
public int update(LabelList labelList);
}
5、com.zte.service.impl.LabelListServiceImpl.java
package com.zte.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zte.dao.LabelListMapper;
import com.zte.model.LabelList;
import com.zte.service.LabelListService;
@Service("LabelListService")
public class LabelListServiceImpl implements LabelListService {
@Autowired
LabelListMapper labelListMapper;
public List<LabelList> selectAll(int object_id) {
return labelListMapper.selectAll(object_id);
}
public int delete(int serial_id) {
return labelListMapper.delete(serial_id);
}
public int insert(LabelList labelList) {
return labelListMapper.insert(labelList);
}
public int update(LabelList labelList) {
return labelListMapper.update(labelList);
}
}
6、com.zte.service.junit.LabelListServiceImplTest.java
package com.zte.service.junit;
import static org.junit.Assert.fail;
import java.util.List;
import javax.annotation.Resource;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.zte.dao.CommentMapper;
import com.zte.dao.LabelListMapper;
import com.zte.model.LabelList;
import com.zte.service.LabelListService;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class LabelListServiceImplTest {
@Autowired
private LabelListService labelListService=null;
//private LabelListMapper labelListMapper=null;
/*@Before
public void setUp() throws Exception {
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
labelListService =(LabelListService) context.getBean("LabelListService");
}*/
@Test
public void testSelectAll() {
List<LabelList> list=labelListService.selectAll(2);
System.out.println(list.size());
Assert.assertEquals(3,list.size());
}
}
7、com.zte.controller.LabelListController.java
package com.zte.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.googlecode.jsonplugin.JSONUtil;
import com.zte.model.LabelList;
import com.zte.service.LabelListService;
@Controller
@RequestMapping("/Label")
public class LabelListController {
@Autowired
LabelListService labelListService;
private List<LabelList> list;
private LabelList labelList;
private String id;
public LabelListService getLabelListService() {
return labelListService;
}
public void setLabelListService(LabelListService labelListService) {
this.labelListService = labelListService;
}
public List<LabelList> getList() {
return list;
}
public void setList(List<LabelList> list) {
this.list = list;
}
public LabelList getLabelList() {
return labelList;
}
public void setLabelList(LabelList labelList) {
this.labelList = labelList;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
//查询所有Label(上面的表格内容,不包括第一行)
@RequestMapping(value = "/list", method = RequestMethod.POST)
public void searchAll(HttpServletRequest request, HttpServletResponse response, LabelList labelList) throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String text = null;
try {
list = labelListService.selectAll(labelList.getObject_id());
ArrayList<Map<String,Object>> items = new ArrayList<Map<String,Object>>();
for(int i = 0; i < list.size(); i++){
Map<String,Object> map = new HashMap<String,Object>();
map.put("isStd", 0);
map.put("LabBigType", 0);
map.put("labelName", list.get(i).getLable_name());
map.put("labType", list.get(i).getLable_type());
map.put("objectId", list.get(i).getObject_id());
map.put("serialId", list.get(i).getSerial_id());
if(list.get(i).getLable_type()==0){
map.put("TypeName", "\"alternative label\" [type: Literal]");
}else if(list.get(i).getLable_type()==1){
map.put("TypeName", "\"preferred label\" [type: Literal]");
}else if(list.get(i).getLable_type()==2){
map.put("TypeName", "\"ProductFullName\" [type: Literal]");
}else if(list.get(i).getLable_type()==3){
map.put("TypeName", "\"ProductShortName\" [type: Literal]");
}
items.add(map);
}
text=JSONUtil.serialize(items);
} catch (Exception e) {
e.printStackTrace();
}
PrintWriter out = null;
out = response.getWriter();
out.print(text);
out.flush();
out.close();
}
//新增一行Label(新增"名称"和"Label")
@RequestMapping(value = "/add", method = RequestMethod.POST)
public void insert(HttpServletRequest request, HttpServletResponse response, LabelList labelList)throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String result = "";
try {
labelListService.insert(labelList);
result = "新增成功!";
} catch (Exception e) {
result = "新增失败!";
e.printStackTrace();
}
PrintWriter out = null;
out = response.getWriter();
out.print(result);
out.flush();
out.close();
}
//删除一行Label
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public void delete(HttpServletRequest request,HttpServletResponse response, LabelList labelList)throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String result = "";
try {
labelListService.delete(labelList.getSerial_id());
result = "删除成功!";
} catch (Exception e) {
result = "删除失败!";
e.printStackTrace();
}
PrintWriter out = null;
out = response.getWriter();
out.print(result);
out.flush();
out.close();
}
//修改一行Label(修改"名称"和"Label")
@RequestMapping(value = "/update", method = RequestMethod.POST)
public void updateTree(HttpServletRequest request, HttpServletResponse response, LabelList labelList)throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String result = "";
try {
labelListService.update(labelList);
result = "修改成功!";
} catch (Exception e) {
result = "修改失败!";
e.printStackTrace();
}
PrintWriter out = null;
out = response.getWriter();
out.print(result);
out.flush();
out.close();
}
}