搭建java mybatis框架_Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)

Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)

发布时间:2020-09-27 23:18:54

来源:脚本之家

阅读:110

作者:alun-chen

本文主要介绍了Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文),分享给大家,具体如下:

SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系统划分为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎。

框架详情

Spring 是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

SpringMVC 属于SpringFrameWork的后续产品,分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

MyBatis 是一个基于Java的持久层框架。MyBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java映射成数据库中的记录。

1. 下载eclipse

到网站下载 http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr

选择自己所要的版本

ab4e925d8e9c8d7dd402ef249d907d4a.png

2. 新建Maven项目

选择File –> New –> Maven Project

可看到下面界面

b19c4673d61b50c99a5f7bb042317a36.png

点击Next,可看到下面界面,我们选择maven-archetype-webapp

61bd42ef6ef3489b4912fb57e7a5c80d.png

点击Next,可看到。Group Id为包名,Artifact Id为项目名。这里我们输入Group Id=com.cjt, Artifact Id=MyMaven。

最后点击Finish成功创建项目

3a19e77f0e11a685554eedf32daaf433.png

c90aa336113ad72bd6b1cfe9943dce07.png

3. 项目运行前准备工作

新建项目之后,可以看到错误,这是build path与没有引入javaee包引起的。

841a0edb88c895233aa8694797a79fd8.png

1)设置build path

右键项目 –> Build Path --> Configure Build Path…

然后选择Libraries

7da990fda6d34f5b4efc68b8d6d5f79e.png

Maven默认是选择一个Library的,这个错误的,我们双击这个来Edit。

下面界面我们选择Alternate JRE或者Workspace default JRE。这里我们选择Alternate JRE。

3861f7ac630029232d77e7851f986d29.png

2)引入javaee包

在pom.xml上引入javaee包

javax

javaee-api

7.0

4. 项目配置文件设置

1) 设置pom.xml

我们现在设置pom.xml,下载jar包,这个过程可能有点慢

Pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

com.cjt

MyMaven

war

0.0.1-SNAPSHOT

TestMaven01 Maven Webapp

http://maven.apache.org

4.0.2.RELEASE

3.2.6

1.7.7

1.2.17

junit

junit

3.8.1

test

javax

javaee-api

7.0

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

TestMaven01

2) 创建jdbc.properties

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/test

username=root

password=

#定义初始连接数

initialSize=1

#定义最大连接数

maxActive=20

#定义最大空闲

maxIdle=20

#定义最小空闲

minIdle=1

#定义最长等待时间

maxWait=60000

3) log4j.properties

### set log levels ###

#log4j.rootLogger = debug , stdout , D , E

log4j.rootLogger = debug , stdout , D

### output to the console ###

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{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

### Output to the log file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/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} [ %t:%r ] - [ %p ] %m%n

### Save exception information to separate file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/error.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = ERROR

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

4) spring-mvc.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

text/html;charset=UTF-8

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

5) spring-mybatis.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

destroy-method="close">

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

上面的文件都创建在resources文件夹下

143ddb5efa38aee07e461a8e16dbd46b.png

5. 数据库代码自动生成

1)新建表

首先,我们新建表user_t,字段如下:

2ffdde3c4c888aa127094fb493a68094.png

2)下载包

下载包有:mybatis-3.2.6.jar、mybatis-generator-core-1.3.3.jar、mysql-connector-java-5.1.39-bin.jar

3)运行-自动生成代码

新建一个文件夹,下面包括如下文件

cf415bba289ea88484dd8d2f5fd911aa.png

generatorConfig.xml是生成代码的xml文件,内容如下:

/p>

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

然后我们用cmd命令进入到新建的文件夹下面,输入:

java -jar mybatis-generator-core-1.3.3.jar -configfile generatorConfig.xml -overwrite

最后,代码生成了。

备注:代码自动生成这里通过命令行的方式,读者也可以通过eclipse的插件方式生成。

6. 代码开始

新建包,如下: (箭头的都是上面自动生成的代码)

7160d8bdd2e0b3f2b78d69d5761ad6ba.png

IUserService.java

public interface IUserService {

public User getUserById(int id);

}

UserServiceImpl.java

@Service

public class UserServiceImpl implements IUserService {

@Autowired

private IUserDao userDao;

public UserServiceImpl() {

System.out.println("UserServiceImpl");

}

public User getUserById(int id) {

return userDao.selectByPrimaryKey(id);

}

}

UserController.java

@Controller

@RequestMapping("/user")

public class UserController {

public UserController() {

System.out.println("UserController");

}

@Resource

private IUserService userService;

@RequestMapping("/showUser")

public String toIndex(HttpServletRequest request,Model model) {

System.out.println("UserController showUser");

int id = Integer.parseInt(request.getParameter("id"));

User user = userService.getUserById(id);

model.addAttribute("user", user);

return "showUser";

}

}

在WEB-INF下新建一个目录jsp,下面新建文件showUser.jsp

ea8e88ea1fa43ac74d0b7a3103b40b5f.png

showUser.jsp

pageEncoding="utf-8" import="java.util.*,com.cjt.domain.*"%>

Insert title here

${user.userName}

最后,附上web.xml

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

version="3.0">

Archetype Created Web Application

contextConfigLocation

classpath:spring-mybatis.xml

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

true

encoding

UTF-8

encodingFilter

/*

org.springframework.web.context.ContextLoaderListener

org.springframework.web.util.IntrospectorCleanupListener

SpringMVC

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:spring-mvc.xml

1

true

SpringMVC

/

/index.jsp

上面,代码生成完成了。

可以下载项目:https://github.com/cjt321/MavenSpirngmvcMybatis

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值