maven+springMvc+velocity(四)

其实项目框架搭建起来一后,剩余的就是业务逻辑的实现了,非常简单了,简单增删改查代码如下

dao层数据持久层

View Code
/**
 * @author qizj
 * @email  qizhenj@gmail.com
 * @create_time  2013-3-14 上午09:27:45
 */
package com.myBussiness.persist.user;

import java.util.List;

import com.myBussiness.domain.user.teacher;

public interface TeacherDAO {

                //在dao层实现teacheer的增删改查
                public Integer insertTeacher(teacher teacher);
                
                public Integer deleteTeacherById(Integer id);
                
                public Integer updateTeacher(teacher teacher);
                
                public teacher queryTeacherById(Integer id);
                //查询所有的teacher信息
                public List<teacher> queryAllTeachers();
}

daoImpl的实现层

View Code
/**
 * @author leiteng
 * @email  qizhenj@gmail.com
 * @create_time  2013-3-14 上午09:29:54
 */
package com.myBussiness.persist.user.impl;

import java.util.List;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import org.springframework.stereotype.Component;

import com.myBussiness.domain.user.teacher;
import com.myBussiness.persist.user.TeacherDAO;

@Component("teacherDAO")
public class TeacherDAOImpl extends SqlMapClientDaoSupport implements
        TeacherDAO {

    // 在DAO根据教师id删除教师信息
    public Integer deleteTeacherById(Integer id) {
        // TODO Auto-generated method stub
        return (Integer) getSqlMapClientTemplate().delete(
                "teacherOperation.deleteTeacherById", id);
    }

    // 添加教师信息
    public Integer insertTeacher(teacher teacher) {
        // TODO Auto-generated method stub
        return (Integer) getSqlMapClientTemplate().insert(
                "teacherOperation.insertTeacher", teacher);
    }

    // 根据教师id号查询教师信息
    public teacher queryTeacherById(Integer id) {
        // TODO Auto-generated method stub
        return (teacher) getSqlMapClientTemplate().queryForObject("teacherOperation.queryDetail", id);
    }

    // 根据教师id号更新教师信息
    public Integer updateTeacher(teacher teacher) {
        // TODO Auto-generated method stub
        return getSqlMapClientTemplate().update("teacherOperation.updateTeacher", teacher);
    }
//查询所有教师信息,以list<teacher>返回
    @SuppressWarnings("unchecked")
    @Override
    public List<teacher> queryAllTeachers() {
        // TODO Auto-generated method stub
        List<teacher> queryForList = getSqlMapClientTemplate().queryForList(
                "teacherOperation.queryTeacher");
        return queryForList;
    }

}

 

service层

View Code
package com.myBussiness.service.user;

import java.util.List;

import com.myBussiness.domain.user.teacher;

public interface TeacherService {
    //添加教师信息
    public Integer insertTeacher(teacher teacher);
    //根据id删除教师信息
    public Integer deleteTeacherById(Integer idInteger);
    //更新教师信息
    public Integer updateTeacher(teacher teacher);
    //查看教师具体信息
    public teacher queryTeacherById(Integer idInteger);
    //查询所有教师的信息
    public List<teacher> queryAllTeacher();
}

serviceImpl实现

View Code
/**
 * @author leiteng
 * @email  lvjavapro@163.com
 * @create_time  2013-3-14 上午08:36:46
 */
package com.myBussiness.service.user.impl;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.myBussiness.domain.user.teacher;
import com.myBussiness.persist.user.TeacherDAO;
import com.myBussiness.service.user.TeacherService;
@Service("teacherService")
public class TeacherServiceImpl implements TeacherService {

    @Autowired
    private TeacherDAO teacherDAO; 
    //在service层根据教师id号删除教师信息
    public Integer deleteTeacherById(Integer id) {
        // TODO Auto-generated method stub
        return teacherDAO.deleteTeacherById(id);
    }
//根据教师id号查询教师具体信息
    public teacher queryTeacherById(Integer idInteger) {
        // TODO Auto-generated method stub
        return teacherDAO.queryTeacherById(idInteger);
    }
//添加教师信息
    public Integer insertTeacher(teacher teacher) {
        // TODO Auto-generated method stub
        return teacherDAO.insertTeacher(teacher);
    }
    //根据教师id号更新教师信息
    public Integer updateTeacher(teacher teacher) {
        // TODO Auto-generated method stub
        return teacherDAO.updateTeacher(teacher);
    }
    @Override
    public List<teacher> queryAllTeacher() {
        // TODO Auto-generated method stub
        return (List<teacher>)teacherDAO.queryAllTeachers();
    }

}

最后就是controller的具体实现了,通过调用相应的接口,将渠道的数据运用各种java代码将其实现不同的包装显示到页面,

Appcontroller.java文件

View Code
/**
 * @author leiteng
 * @email  lvjavapro@163.com
 * @create_time  2013-3-14 上午10:32:33
 */
package com.myBussiness.front.controller;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.junit.After;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.myBussiness.domain.user.teacher;
import com.myBussiness.persist.user.TeacherDAO;
import com.myBussiness.persist.user.impl.TeacherDAOImpl;
import com.myBussiness.service.user.TeacherService;
import com.myBussiness.service.user.impl.TeacherServiceImpl;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.Match;
/**
 * 
 * 
 * @author LeiTeng
 * @date 2013-03-7
 * 
 */

@Controller
public class AppController{
    private String operation;
    private String message;
    @Autowired
    private TeacherService teacherService;
    
    @RequestMapping
    public ModelAndView index(HttpServletRequest request, HttpServletResponse response) {
        return new ModelAndView("/app/index");
    }
    //添加教师信息
    @RequestMapping
    public ModelAndView register(HttpServletResponse response,HttpServletRequest request,
        Map<String, Object> out) throws Exception {
        String teacherName;
        String adress;
        String sex;
        int age;
         teacherName = request.getParameter("username");
         adress = request.getParameter("adress");
         age = Integer.parseInt(request.getParameter("age"));
         sex = request.getParameter("sex");
         
        teacher newteacher = new teacher(teacherName, adress, age,sex);
        Integer result = teacherService.insertTeacher(newteacher);
         if (result!=0) {             
             return listTeacher(request, response, out);
        }
        else {
            return new ModelAndView("/app/fail");
        }
    }
    
    //查询所有教师信息
    @RequestMapping
    public ModelAndView listTeacher(HttpServletRequest request , HttpServletResponse response,Map<String, Object> out) {
        @SuppressWarnings("unused")
        List<teacher> teacherList = teacherService.queryAllTeacher();
    //    out.put("teacherList", teacherList);
    /*    message="操作成功";
        operation="list";
        request.setAttribute("message", message);
        request.setAttribute("operation", operation);*/
        request.setAttribute("teacherList", teacherList);
        return new ModelAndView("/app/listTeacher");
        
    }
    //根据id号删除教师信息
    @RequestMapping
    public ModelAndView delteTeacher(HttpServletRequest request,HttpServletResponse response,Map<String, Object> out) {
        Integer id = Integer.parseInt(request.getParameter("teacherId"));
        Integer result = teacherService.deleteTeacherById(id);
        operation=request.getParameter("operation");
        if (result!=0) {
            message = "操作成功";    
        }
        else {
            message ="操作失败";
        }
        request.setAttribute("message", message);
        request.setAttribute("operation", operation);
        return listTeacher(request, response, out);
    }
    //根据教师id号查询教师具体信息
    @RequestMapping
    public ModelAndView queryDetail(HttpServletRequest request,HttpServletResponse response,Map<String, Object> out) {
        Integer id = Integer.parseInt(request.getParameter("teacherId"));
        teacher result = teacherService.queryTeacherById(id);
        request.setAttribute("teacher", result);
        if (result!=null) {
            message="操作成功";
        }
        else {
            message="操作失败";
        }
        request.setAttribute("message", message);
        operation = (String)request.getParameter("operation");
        //因为更新教师信息的时候需要先查询具体的信息,然后根据操作福的不同转向不同的方法,如果是更新操作则进行更新,否则list教师信息
        if ("update".equals(operation)) {
            return new ModelAndView("/app/listTeacher");
            //return new ModelAndView("app/updateTeacher");
        }
        request.setAttribute("operation", operation);
        //return new ModelAndView("/app/queryDetail");
        return listTeacher(request, response, out);
        
    }
    //根据id号更新教师信息
    @RequestMapping
    public ModelAndView updateTeacher(HttpServletRequest request, HttpServletResponse response, Map<String, Object> out) {
        String teacherName;
        String teacherSex;
        String teacherAdress;
        Integer teacherAge;
        Integer teacherId = Integer.parseInt(request.getParameter("teacherId"));
        teacherName = request.getParameter("teacherName");
        teacherSex = request.getParameter("teacherSex");
        teacherAdress =request.getParameter("teacherAdress");
        teacherAge = Integer.parseInt(request.getParameter("teacherAge"));
        
        teacher teacher = new teacher(teacherName, teacherSex, teacherAge, teacherAdress);
        teacher.setTeacherId(teacherId);
        Integer result =teacherService.updateTeacher(teacher);
        if (result!=0) {
            message="操作成功";
        }else {
            message="操作失败";
        }
        operation=request.getParameter("operation");
        request.setAttribute("operation", operation);
        request.setAttribute("message", message);
        return listTeacher(request, response, out);
        
    }
/*    public static void main(String[] args) {
        teacher newteacher = new teacher("leiteng", "hangzhou", 21,"nan");
        TeacherDAOImpl teacherDAOImpl = new TeacherDAOImpl();
        teacherDAOImpl.insertTeacher(newteacher);
    }
*/
public static void main(String[] args) throws IOException {
//    InputStream is = new FileInputStream("/usr/limit");
//    byte [] buffer = new byte[1024];
//    int length = 0;
//    String limitString = null;
//    while (-1!=(length=is.read(buffer, 0, 1024))) {
//        limitString =new String(buffer,0, length);
//        System.out.println(limitString);
//        
//    }
//    //将从文件中读取到的敏感子转化为数组的形式
//    String[] limitArray = limitString.split(",");
//    String beoperated = "毛主席和蒋介石带领av一起草.你吗的码的的日本人";
//
//    for (int i = 0; i < limitArray.length; i++) {
//        Pattern pattern = Pattern.compile(limitArray[i]);
//        Matcher matcher = pattern.matcher(beoperated);
//        StringBuffer sbBuffer = new StringBuffer();
//        if (matcher.find()) {
//            matcher.appendReplacement(sbBuffer, "!");
//            
//        }
//        matcher.appendTail(sbBuffer);
//        beoperated = sbBuffer.toString();    
//        System.out.println(i+"-------------------->"+beoperated);
//    }
//    System.out.println(beoperated);
    Integer startInteger ="<p>\n\t&nbsp;</p>\n".length();
    String teString = "<p>\n\t&nbsp;</p>\n" +
            "gsgfl" +
            "gsfj " +
            "gaetajwejklsdfjksjdfkjklsjdfjjjjiew" +
            "sdgfkja g sdgfgadfg\t";
    String subString = teString.substring(0,16);
    if (subString.equals("<p>\n\t&nbsp;</p>\n")) {
        System.out.println(teString.substring(16, teString.length()));
    }
    System.out.println(subString);
    System.out.println(startInteger);
}
}

映射等都是通过注解实现的,

最后就是页面的实现了.

index.vm

View Code
#set( $layout = "/layout/blank.vm" )
<head>
</head>
<body>
    </body>

    <form id=registerForm  action=register.htm>
        username:<input id="username" name="username" type="text" /><br>
        age:<input id="age" name="age" type="text" /><br>
        sex:<input id="sex" name="sex" type="text" /><br>
        adress:<input id="adress" name="adress" type="text" /><br>
        <input type="submit"value="submit"/>
        <span id="after"></span>
    </form>
</body>
<!--
<script type="text/javascript" >
 function checkRegister(){
 alert(adress);
         var username=document.getElementById("username").value();
        var sex = document.getElementById("sex").value();
        var age = document .getElementById("age").value();
        var adress = document.getelementById("adress").value();
        
        jQuery.ajax({
            url:"register.htm",
            type:"POST",
            data:{teacherName:username,teacherSex:sex,teacherAge:age,teacherAdress:adress},
            success:function(data, textStatus){
            var json = eval('('+data+')');
            $('#after').html(json.data);
        }
        });
    }
</script>
-->

listTeacher.vm

View Code
#set( $layout = "/layout/blank.vm" )
<head>
</head>
<body>
    <table width="1069">
        <tr align="center">
            <td align="center" >$!{operation}</td>
             <td align="center">$!{message}</td>
        </tr>
    </table>
    <table style="width:1080">
                    <tr>
                    <td>id</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>年龄</td>
                    <td>住址</td>
                    <td align="center" colspan="3">操作</td>
                    </tr>     
                    
                #foreach($teacherList in ${teacherList})
                    <tr>
                        <td>$teacherList.teacherId</td>
                        <td>$teacherList.teacherName</td>
                         <td>$teacherList.teacherSex</td>
                         <td>$teacherList.teacherAge</td>
                         <td>$teacherList.teacherAdress</td>
                         <td><a href="queryDetail.htm?operation='query'&teacherId=$teacherList.teacherId ">详细信息</a></td>
                         <td><a href="delteTeacher.htm?operation='delete'&teacherId=$teacherList.teacherId ">删除</a></td>
                         <td><a href="queryDetail.htm?operation=update&teacherId=$teacherList.teacherId">更新</a></td>
                         <td><a href="index.htm">添加</a></td>
                         </td>
                         <br>
                     </tr>    
                 #end  
                   
                </table>
        -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
            
            <table width="1322">
                <tr align="center">
                    <td align="center">
                        id
                    </td>
                    <td align="center">
                        姓名
                    </td>
                    <td align="center">
                        性别
                    </td>
                    <td align="center">
                        住址
                    </td>
                    <td align="center">
                        年龄
                    </td>
                </tr>
                    <tr align="center">
                    <td align="center">
                        $!{teacher.teacherId}
                    </td>
                    <td align="center">
                        $!teacher.teacherName
                    </td>
                    <td align="center">
                        $!{teacher.teacherSex}
                    </td>
                    <td align="center">
                        $!teacher.teacherAdress
                    </td>
                    <td align="center">
                        $!teacher.teacherAge
                    </td>
                </tr>
            </table>
            #if( ${teacher})
                    
                请修改信息
        <form id=registerForm  action=updateTeacher.htm?>
        <input id="operation" name="operation" type="hidden" value=update>
        <input id="teacherId" name="teacherId" type="hidden" value=${teacher.teacherId}>
        姓名:<input id="teacherName" name="teacherName" type="text" value=$teacher.teacherName /><br>
        年龄:<input id="teacherAge" name="teacherAge" type="text" value=$teacher.teacherAge /><br>
        性别:<input id="teacherSex" name="teacherSex" type="text" value=$teacher.teacherSex /><br>
        地址:<input id="teacherAdress" name="teacherAdress" type="text" value=$teacher.teacherAdress /><br>
        <input type="submit"value="submit"/>
        <span id="after"></span>
    </form>
             #end
</body>

queryDetail.vm

View Code
#set( $layout = "/layout/blank.vm" )
<head>
</head>
<body>
    $operation 
    $message
    ${teacher.teacherId}
    $teacher.teacherName
</body>

updateTeacher.vm

View Code
#set( $layout = "/layout/blank.vm" )
<head>
</head>
<body>
    </body>
请修改信息
    <form id=registerForm  action=updateTeacher.htm?>
        <input id="operation" name="operation" type="hidden" value=update>
        <input id="teacherId" name="teacherId" type="hidden" value=${teacher.teacherId}>
        姓名:<input id="teacherName" name="teacherName" type="text" value=$teacher.teacherName /><br>
        年龄:<input id="teacherAge" name="teacherAge" type="text" value=$teacher.teacherAge /><br>
        性别:<input id="teacherSex" name="teacherSex" type="text" value=$teacher.teacherSex /><br>
        地址:<input id="teacherAdress" name="teacherAdress" type="text" value=$teacher.teacherAdress /><br>
        <input type="submit"value="submit"/>
        <span id="after"></span>
    </form>
</body>
<!--
<script type="text/javascript" >
 function checkRegister(){
 alert(adress);
         var username=document.getElementById("username").value();
        var sex = document.getElementById("sex").value();
        var age = document .getElementById("age").value();
        var adress = document.getelementById("adress").value();
        
        jQuery.ajax({
            url:"register.htm",
            type:"POST",
            data:{teacherName:username,teacherSex:sex,teacherAge:age,teacherAdress:adress},
            success:function(data, textStatus){
            var json = eval('('+data+')');
            $('#after').html(json.data);
        }
        });
    }
</script>
-->

然后使用

mvn tomcat:run可以启动tomcat

使用mvnDebug tomcat:run 可以实现debug模式.

另外在父亲项目文件夹下面可建立如下文件方便简化mvn的命令

!/bin/sh  
#memcached auto-start   
#  
# description: Auto-starts memcached  
# processname: memcached  
# pidfile: /var/memcached.pid   


case $1 in
p)
    mvn clean package -Pproduction -Dmaven.test.skip
    ;;
pt)
        mvn clean package -Ptest -Dmaven.test.skip
        ;;
ci)
        mvn clean install -Dmaven.test.skip -DdownloadSources=true
        ;;
ee)
        mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true
        ;;
ec)
        mvn eclipse:clean
        ;;
td)
        mvnDebug tomcat:run
        ;;
t)
        mvn tomcat:run
        ;;
s)
        mvn dependency:sources
        ;;
gb)
        git branch -av --color
        ;;
*)
    echo 'p:package -Pproduction; pt:package -Ptest; ci:clean install; ee: eclipse:eclipse'
    echo 'ec:eclipse:clean; td:debug tomcat:run; t: tomcat:run; s: dependency:sources'
    ;;
esac

exit 0
~                                                                                                                                                                                
~         

 

posted @ 2013-04-22 16:24  雨中雷  阅读(573)  评论(0编辑  收藏  举报