Maven+SpringMVC+Spring+MyBatis连接MySQL数据库详细搭建整合过程
来源:互联网 发布:php 反射api 编辑:程序博客网 时间:2024/05/24 04:21
搭建步骤
- 创建Maven Web项目
- SpringMVC 配置及测试
- Spring+Mybatis配置及连接数据库测试
一、创建Maven Web项目
依照个人习惯自行创建。先新建一个Maven工程,再添加web支持
可参考博客:http://www.cnblogs.com/wql025/p/5205716.html
工程目录如图:
完整的pom.xml依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zhou.ssm</groupId> <artifactId>ssmTest</artifactId> <version>1.0-SNAPSHOT</version> <properties> <spring.version>4.3.1.RELEASE</spring.version> <!-- mybatis版本号 --> <mybatis.version>3.4.5</mybatis.version> </properties> <dependencies> <!-- Spring 框架核心工具类 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <!-- Spring 扩展服务 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <!-- 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <!-- jdbc支持包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <!-- 为了方便进行单元测试,添加spring-test包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--SpringMVC支持web端部署框架 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <!--<scope>test</scope>--> </dependency> <!-- 切面编程 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.5</version> </dependency> <!-- springMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.5.RELEASE</version> </dependency> <!--mysql驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- 添加mybatis与Spring整合的核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <!-- servlet相关接口--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <!-- JSTL标签类 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- JSON-lib解析json字符串--> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <!-- HTTP 请求 --> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <!-- validat 注解--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <!-- 上传组件包 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!-- 日志文件 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies></project>
二、配置SpringMVC及测试
- pom添加SpringMVC依赖
<!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <!--<scope>test</scope>--> </dependency> <!-- springMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.5.RELEASE</version> </dependency>
- resources文件夹下,添加配置文件springmvc.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: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.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--静态资源映射/css/js--> <mvc:resources mapping="/static/**" location="/static/"/> <!-- 配置包扫描器 @Component,@Repository,@Service,@Controller--> <context:component-scan base-package="com.zhou.ssm"/> <!-- 开启springMVC的注解驱动,使得url可以映射到对应的controller --> <mvc:annotation-driven /> <!-- 视图解析器- --> <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!--设置JSP文件的目录位置--> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean></beans>
- web.xml<–配置springmvc DispatcherServlet–>
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--配置springmvc DispatcherServlet--> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!--Sources标注的文件夹下需要新建一个spring文件夹--> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
- 测试
view文件夹下,新建index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body>Controller --> index</body></html>
java包下,新建com.zhou.ssm包,目录下新建controller包
新建HelloController.java
@Controllerpublic class IndexController { @RequestMapping(value="/", method= RequestMethod.GET) public String index(){ return "index"; }}
配置tomcat运行测试。
SpringMVC配置简单可参考:
http://www.cnblogs.com/yanyd/p/4266179.html
http://www.cnblogs.com/winner-0715/p/5294917.html
超详细可参考:http://blog.csdn.net/qq_27093465/article/details/68961393
三、Spring+Mybatis配置及连接数据库测试
- pom.xml添加依赖:见最开始完整pom
- 添加配置文件jdbc.properties(数据库名test),spring-mybatis.xml
jdbc.properties,修改web.xml
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNulljdbc.username=rootjdbc.password=123456
spring-mybatis.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:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <!-- 引入db.properties属性文件 --> <context:property-placeholder location="classpath:jdbc.properties" /> <!--定义一个jdbc数据源,创建一个驱动管理数据源的bean --> <bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!--创建一个sql会话工厂bean,指定数据源 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 指定数据源 --> <property name="dataSource" ref="jdbcDataSource" /> <!--类型别名包,引入com.lmei.ssm.entity下的所有类 --> <property name="typeAliasesPackage" value="com.zhou.ssm"></property> <!--指定sql映射xml文件的路径 --> <property name="mapperLocations" value="classpath:/mapper/*.xml"></property> </bean> <!--自动扫描映射接口--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 指定sql会话工厂,在上面配置过的 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> <!-- 指定基础包,即自动扫描com.lmei.ssm.dao这个包下的所有接口类 --> <property name="basePackage" value="com.zhou.ssm"></property> </bean> <!-- 创建一个sqlSession对象 --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> <!--自动扫描组件 --> <context:component-scan base-package="com.zhou.ssm"> <context:exclude-filter type="aspectj" expression="com.ipu.pushMessage.mapper.*"/> </context:component-scan> <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy></beans>
在web.xml中添加:
<!-- Spring容器启动监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mybatis.xml</param-value> </context-param>
3.代码连接数据库,单元测试连接
bean包,新建Media.java类, mysql建表
public class Media { public String media_id; public String type; public String created_time; public String status; public String getMedia_id() { return media_id; } public void setMedia_id(String media_id) { this.media_id = media_id; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getCreated_time() { return created_time; } public void setCreated_time(String created_time) { this.created_time = created_time; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; }}
mapper包下新建MediaMapper接口
@Repositorypublic interface MediaMapper { public int saveMedia(Media media); public List<Media> queryAll();}
service包下,新建MediaService接口
public interface MediaService { public int saveMedia(Media media); public List<Media> queryAll();}
impl包下,新建MediaServiceImpl类实现MediaService接口
@Servicepublic class MediaServiceImpl implements MediaService{ @Autowired private MediaMapper mediamapper; @Override public int saveMedia(Media media){ return mediamapper.saveMedia(media); } @Overside public List<Media> queryAll(){ return mediamapper.queryAll(); }}
配置文件resources包下的mapper包,新建MediaMapper.xml
增删改查详解参考:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#insert_update_and_delete
<?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.ipu.pushMessage.mapper.MediaMapper"> <!-- paramerType:java自定义类型或数据类型--> <insert id="saveMedia" parameterType="Media"> insert into psg_wechat_media(TYPE, MEDIA_ID, CREATED_TIME, STATUS) VALUES(#{type}, #{media_id}, #{created_time}, #{status}) </insert> <select id="queryAll" resultType="Media"> select * from psg_wechat_media </select></mapper>
添加测试类:
public class TestSpringMyBatis { @Test public void saveMedia() { System.out.println("start-------------------------"); //初始化容器 ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-mybatis.xml"); //获得bean MediaMapper mediaMapper = ctx.getBean(MediaMapper.class); //访问数据库 Media media = new Media(); media.setCreated_time("2017-01-01 10:23:23"); media.setMedia_id("80222"); media.setStatus("0"); media.setType("thume"); mediaMapper.saveMedia(media); System.out.println("end----------------------------"); }}
public class QueryAllMedia { @Test public void queryallmedia(){ System.out.println("start-------------------------"); //初始化容器 ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-mybatis.xml"); //获得bean MediaMapper mediaMapper = ctx.getBean(MediaMapper.class); List<Media> medialist = mediaMapper.queryAll(); for(Media i: medialist){ System.out.println("media: "+i.getMedia_id()); System.out.println("type: "+i.getType()); System.out.println("created_time: "+i.getCreated_time()); System.out.println("status: "+i.getStatus()); System.out.println(); } System.out.println(medialist); }}
右键运行测试类。
参考博客:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral
- Maven+SpringMVC+Spring+MyBatis连接MySQL数据库详细搭建整合过程
- maven+spring+springmvc+mybatis+mysql整合过程
- 非Maven的SpringMVC+Spring+Mybatis框架整合搭建详细过程
- SSM框架搭建详细过程,springmvc、spring、mybatis整合
- Spring+SpringMVC+MyBatis详细整合过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程
- jq.ajax+php+mysql数据库实现用户无刷新评论
- hadoop 节点SSH免密登录设置
- mysql “error LNK2019: 无法解析的外部符号”的几种可能原因
- 第二大的数
- 计蒜客---糟糕的Bug(Trie树)
- Maven+SpringMVC+Spring+MyBatis连接MySQL数据库详细搭建整合过程
- 狗种类识别
- Angular 路由 过滤 实行简单分页
- java匿名内部类
- (三)TensorFlow实现神经网络
- python模块之re与正则
- CSS3 calc()属性的使用
- EmEditor Professional (文本编辑器) 官方破解版64位V17.3.1下载 | 含emeditor注册码
- win32汇编第一个窗口程序