博客
关于我
IDEA下java的SSM框架搭建
阅读量:622 次
发布时间:2019-03-13

本文共 11738 字,大约阅读时间需要 39 分钟。

idea2017.2.6

jdk1.9

tomcat9

mysql绿色版

SSM也就是Springmvc+Spring+Mybatis,这也是现在主流的框架,在Idea环境搭建:

整体项目框架图

1、pow.xml文件

4.0.0
com.htt
htt
war
1.0-SNAPSHOT
htt Maven Webapp
http://maven.apache.org
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
0.9.5-pre8
junit
junit
3.8.1
test
javax
javaee-api
7.0
com.mchange
c3p0
0.9.5-pre8
com.mchange
mchange-commons-java
0.2.12
junit
junit
4.11
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
cn.jpush.api
jpush-client
3.3.3
cn.jpush.api
jiguang-common
1.0.8
io.netty
netty-all
4.1.6.Final
compile
com.google.code.gson
gson
2.3
org.slf4j
slf4j-api
1.7.7
org.slf4j
slf4j-log4j12
1.7.7
log4j
log4j
1.2.17
commons-codec
commons-codec
1.9
htt

2、jdbc.property文件

jdbc.driver=com.mysql.jdbc.Driver#数据库地址jdbc.url=jdbc:mysql://localhost:3306/ChatRobot?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false#用户名jdbc.username=root#密码jdbc.password=mysql#最大连接数c3p0.maxPoolSize=30#最小连接数c3p0.minPoolSize=10#关闭连接后不自动commitc3p0.autoCommitOnClose=false#获取连接超时时间c3p0.checkoutTimeout=10000#当获取连接失败重试次数c3p0.acquireRetryAttempts=2

3、log4j.property文件

#定义LOG输出级别log4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#可以灵活地指定日志输出格式,下面一行是指定具体的格式log4j.appender.Console.layout = org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=[%c] - %m%n#文件大小到达指定尺寸的时候产生一个新的文件log4j.appender.File = org.apache.log4j.RollingFileAppender#指定输出目录log4j.appender.File.File = logs/ssm.log#定义文件最大大小log4j.appender.File.MaxFileSize = 10MB# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.Threshold = ALLlog4j.appender.File.layout = org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

4、spring-mvc.xml

5、spring-mybatis

6、web.xml

ChatRobot
ChatRobot_Alpha_0.0.1
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-*.xml
1
true
SpringMVC
/
index.html

7、mapper文件的写法

insert into user(username, password, HeadImage) values (#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{HeadImage,jdbcType=VARCHAR})

8、dao包的写法

package com.chatRobot.dao;import com.chatRobot.model.User;import java.util.List;public interface IUserDao {    User selectUser(long id);    User getUser( String username);    List
findAllUser(); int insertUser(User user);}

9、service包写法

package com.chatRobot.service;import com.chatRobot.model.TicketNumber;import com.chatRobot.model.User;import java.util.List;public interface IUserService {    public User selectUser(long userId);    public List
findAllUser(); public int insertUser(User user); public User getUser( String username);}

10、service接口的实现类IMPLService

package com.chatRobot.service.impl;import com.chatRobot.dao.IUserDao;import com.chatRobot.model.User;import com.chatRobot.service.IUserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.List;@Service("userService")public class UserServiceImpl implements IUserService {    @Autowired    private IUserDao userDao;    public User selectUser(long userId) {        return this.userDao.selectUser(userId);    }    public List
findAllUser() { return this.userDao.findAllUser(); } public int insertUser(User user) { return this.userDao.insertUser(user); } public User getUser(String username) { return this.userDao.getUser(username); }}

11、cotroller包的写法

package com.chatRobot.cotroller;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import com.alibaba.fastjson.JSONObject;import com.chatRobot.Uitils.ExceptionProject;import com.chatRobot.model.User;import com.chatRobot.service.IUserService;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.codehaus.jackson.map.ObjectMapper;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;@Controller@RequestMapping("/user")public class UserController {    @Resource(name="userService")    private IUserService userService;    //登录接口    @RequestMapping("/LoginUser")    public @ResponseBody JSONObject LoginUser(HttpServletRequest request, HttpServletResponse response) throws IOException {                JSONObject results=new JSONObject();                String UserName=request.getParameter("username");                String password=request.getParameter("password");                User oldUsername=userService.getUser(UserName);                if( UserName!=null && oldUsername.getUsername().equals(UserName) ){                    results.put("message", ExceptionProject.successLogin);                    results.put("code",200);                    results.put("data",null);                    return results;                }else{                    results.put("message",ExceptionProject.faileLogin);                    results.put("code",200);                    results.put("data",null);                    return results;                }    }}
这样一个简单SSM框架就搭建完毕,dao写接口提供mabatis数据持久,service写接口-implservice去实现,,cotroller实现request的请求和response的响应返回。

你可能感兴趣的文章
mysql加强(4)~多表查询:笛卡尔积、消除笛卡尔积操作(等值、非等值连接),内连接(隐式连接、显示连接)、外连接、自连接
查看>>
mysql加强(5)~DML 增删改操作和 DQL 查询操作
查看>>
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>
mysql千万级大数据SQL查询优化
查看>>
MySQL千万级大表优化策略
查看>>
MySQL单实例或多实例启动脚本
查看>>
MySQL压缩包方式安装,傻瓜式教学
查看>>
MySQL原理、设计与应用全面解析
查看>>
MySQL原理简介—1.SQL的执行流程
查看>>
MySQL参数调优详解
查看>>
mysql参考触发条件_MySQL 5.0-触发器(参考)_mysql
查看>>
MySQL及navicat for mysql中文乱码
查看>>
MySqL双机热备份(二)--MysqL主-主复制实现
查看>>
MySql各种查询
查看>>
mysql同主机下 复制一个数据库所有文件到另一个数据库
查看>>
mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>