博客
关于我
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的响应返回。

你可能感兴趣的文章
Nhibernate的第一个实例
查看>>
NHibernate示例
查看>>
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>