05(maven+SSH)网上商城项目实战之spring mybatis整合

简介:

1.配置POM.xml文件 ,配置项目所需jar
2.配置WEB.xml:
    配置spring监听器

1
2
3
4
5
6
7
8
     < context-param >
         < param-name >contextConfigLocation</ param-name >
         < param-value >classpath:application-context.xml</ param-value >
     </ context-param >
     
     < listener >
         < listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class >
     </ listener >

3.创建anotation.xml配置文件
    <!-- spring扫描 @service -->
    

1
2
3
4
5
< context:component-scan  base-package = "cn.liu" >
         < context:exclude-filter  type = "annotation"  expression = "org.springframework.stereotype.Controller" />
     </ context:component-scan >
     
     < context:annotation-config />

4. 创建jdbc.properties和jdbc.xml,并配置:
 

1
2
3
4
5
6
7
8
9
10
11
12
    driverClass=com.mysql.jdbc.Driver
     jdbcUrl=jdbc:mysql://localhost:3306/shop?characterEncoding=UTF-8
     user=root
     password=
     
     <!-- c3p0-->
     < bean  id = "dataSource"  class = "com.mchange.v2.c3p0.ComboPooledDataSource" >
         < property  name = "driverClass"  value = "${driverClass}" />
         < property  name = "jdbcUrl"  value = "${jdbcUrl}" ></ property >
         < property  name = "user"  value = "${user}"  />
         < property  name = "password"  value = "${password}" />
     </ bean >

5.配置property.xml文件,读取JDBC配置
 

1
2
3
4
5
6
7
8
    < bean  class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
         < property  name = "locations" >
             < list >
                 <!-- JDBC的配置 -->
                 < value >classpath:properties/jdbc.properties</ value >
             </ list >
         </ property >
      </ bean >

6.配置mybatis.xml文件

1
2
3
4
5
6
7
8
9
10
11
     <!-- mybatis org.mybatis.spring.SqlSessionFactoryBean 配置 -->
     < bean  id = "sqlSessionFactory"  class = "org.mybatis.spring.SqlSessionFactoryBean" >
         < property  name = "dataSource"  ref = "dataSource" />
         < property  name = "mapperLocations"  value = "classpath:cn/liu/croe/dao/*.xml" />
         < property  name = "typeAliasesPackage"  value = "cn.liu.croe.bean" ></ property >
     </ bean >
     
     <!-- 扫包 -->
     < bean  class = "org.mybatis.spring.mapper.MapperScannerConfigurer" >
         < property  name = "basePackage"  value = "cn.liu.croe.dao" />
     </ bean >

7.事务管理transation.xml:    

1
2
3
4
5
6
7
     <!-- spring 事务 -->
     < bean  id = "transactionManager"  class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" >
         < property  name = "dataSource"  ref = "dataSource" />
     </ bean >
     
     <!-- 开启事务注解 -->
     < tx:annotation-driven  transaction-manager = "transactionManager" />

8.UserInfoDAO.xml

1
2
3
4
5
6
7
8
9
10
<? 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 = "cn.liu.croe.dao.UserInfoDAO" >
     
     < insert  id = "add"  parameterType = "UserInfo" >
         insert into user_info (user_name,user_sex)
         values(#{userName},#{userSex})
     </ insert >
     
</ mapper >

9.事务管理注释:@Transactional



import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import cn.liu.croe.bean.UserInfo;
import cn.liu.croe.dao.UserInfoDAO;
import cn.liu.croe.service.IUserInfoService;

@Service
@Transactional
public class UserInfoServiceImpl implements IUserInfoService {

    @Autowired
    private UserInfoDAO userdao;
    
    public void addUser(UserInfo user) {
        
        int i = userdao.add(user);
        System.out.println(i);
        
        throw new RuntimeException("运行时异常");
        
    }

}


10.测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package  cn.shop.userinfo;
import  org.junit.Test;
import  org.junit.runner.RunWith;
import  org.springframework.beans.factory.annotation.Autowired;
import  org.springframework.test.context.ContextConfiguration;
import  org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import  cn.liu.croe.bean.UserInfo;
import  cn.liu.croe.service.IUserInfoService;
 
@RunWith (SpringJUnit4ClassRunner. class )
@ContextConfiguration (locations =  "classpath:application-context.xml" )
public  class  UserTest {
     @Autowired
     private  IUserInfoService service;
     @Test
     public  void  testAdd() {
         UserInfo user =  new  UserInfo();
         user.setUserName( "秋香" );
         user.setUserSex( "女" );
         service.addUser(user);
     }
}





本文转自 l363130002 51CTO博客,原文链接:http://blog.51cto.com/liuyj/1711849




相关文章
|
3月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
256 1
Maven——创建 Spring Boot项目
|
3月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
69 1
如何使用 maven 创建一个 Spring Boot项目
|
3月前
|
Java 数据库连接 数据库
让星星⭐月亮告诉你,SSH框架01、Spring概述
Spring是一个轻量级的Java开发框架,旨在简化企业级应用开发。它通过IoC(控制反转)和DI(依赖注入)降低组件间的耦合度,支持AOP(面向切面编程),简化事务管理和数据库操作,并能与多种第三方框架无缝集成,提供灵活的Web层支持,是开发高性能应用的理想选择。
47 1
|
3月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
268 0
idea+maven+tomcat+spring 创建一个jsp项目
|
4月前
|
SQL Java 数据库连接
JavaWeb基础3——Maven基础&MyBatis
构建工具Maven、Maven安装配置、基本使用、IDEA使用Maven、依赖管理、插件、Mybatis、核心配置文件mybatis-config.xml、Mapper代理开发、配置文件实现增删改查、Mybatis参数传递、注解实现增删改查
JavaWeb基础3——Maven基础&MyBatis
|
5月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
162 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
6月前
|
JavaScript Java Maven
理解固化的Maven依赖:spring-boot-starter-parent 与 spring-boot-dependencies
理解固化的Maven依赖:spring-boot-starter-parent 与 spring-boot-dependencies
2635 1
|
8月前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
482 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
7月前
|
Java 数据库连接 mybatis
在Spring Boot应用中集成MyBatis与MyBatis-Plus
在Spring Boot应用中集成MyBatis与MyBatis-Plus
138 5
|
8月前
|
Java 数据库连接 数据库
Spring整合Mybatis、Spring整合JUnit
Spring整合Mybatis、Spring整合JUnit
48 1
Spring整合Mybatis、Spring整合JUnit