详细的Spring MVC框架搭配在这个连接中:

Maven 工程下 Spring MVC 站点配置 (一)

Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作

这篇主要讲解MVC中Mybatis的配置过程。

STEP 1:数据库与实体bean的创建;

在这个实例中用 Mysql作为操作的数据库源,先来创建一张名为 users 的数据表结构,如图:

如果你认为自己是个潇洒的代码控,不屑于图形界面操作,那么你也可以用SQL代码来进行表的创建,复制如下代码即可:

-- users table
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `account` varchar(50) DEFAULT NULL,
  `passwd` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后在项目中.增加一个对应数据表的实体 bean 包, 包结构为 mcqueen.model,如图:

在这个包中增加一个与数据表名一致的java实体bean文件,与数据表明一致不是必须的,为了方便维护管理建议与数据表名一致;

users.java 文件源码如下:

package mcqueen.model;

public class users {
    public int id;
    public String account;
    public String passwd;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getPasswd() {
        return passwd;
    }
    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
}

STEP 2:配置Mybatis.

打开项目中的pom.xml文件,增加如下配置内容:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.25</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.1.2.RELEASE</version>
    </dependency>

在项目中增加一个 sqlconfig.xml 文件,它是用来管理Mybatis 中的Mapper文件的;

sqlconfig.xml文件中增加如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- Sql Connection Config -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/womaidb" />
                <property name="username" value="root" />
                <property name="password" value="xingzhi" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mcqueen/mappers/UserMapping.xml" />
    </mappers>
</configuration>

上面代码中 mappers下的mappers的resource这个属性节点内容,便是指向Sql管理配置文件的存储地方.也是Mybatis的重点操作文件之一.(详细解释,请自行百度,这里不做解释)

既然需要这个文件那么就来创建它吧.

UserMapping.xml:

<?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="mcqueen.mappers.UserMapping">
    <select id="GetUsersAll"  
            parameterType="int"
            resultType="mcqueen.model.users">
            SELECT * FROM `users` WHERE `id` = #{id};
    </select>
</mapper>

上面代码中:

namespace="" 这个命名空间节点指向的文件便是当前自身文件,通俗理解就给它自己起个名字,<select > : 这个节点便是你的Sql语句;

如果你是用条件查询的语句,那么 parameterType 就要指定与java函数对应的数据类型;resultType则是返回你对应的实体bean类型;

具体说明,依旧百度或者自行官网,个人建议去官网看理解的会更透彻一些.

最后,项目中两个文件的结构放置,应当如下图:

STEP 3:数据层的实现与操作

接下来,还要做这样一个事情,我们回来打开查看UserMapping.xml这个文件;

你会看到这样一段语句:<select id="GetUsersAll"

这个id="GetUsersAll"语句中, Id节点的内容便是接下来要实现的工作了,数据层的实现;

在工程中增加 mcqueen.dal 这个包,并在里面增加一个 UserDao.java 文件,如下:

然后在这个文件中增加如下语句:

UserDao.java:

package mcqueen.dal;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class UserDao {
    //指向UserMapping文件中Select节点下id属性定义的内容.
    private String sql = "mcqueen.mappers.UserMapping.GetUsersAll";
    public mcqueen.model.users GetUsersAll(int id){
        InputStream is = UserDao.class.getClassLoader().getResourceAsStream("sqlconfig.xml");
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
        SqlSession session = ssf.openSession();
        return session.selectOne(sql, id);
    }
}

然后再打开mcqueen.controller下的IndexController.java文件,代码如下:

IndexController.java:

package mcqueen.controller;
import mcqueen.dal.UserDao;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class IndexController {
    
    @RequestMapping(value="index.html")
    public void index(Model m){
        UserDao dal = new UserDao();
        m.addAttribute("result", "I use mybatis find "+dal.GetUsersAll(1).getAccount()+" of data, My name is Mcqueen Xing.");
    }
}

到此,Spring MVC 中Mybaits操作已经完成了,可以进行测试结果如下:

记得在数据库中加数据,否则会出现null.

Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作的更多相关文章

  1. Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

    Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单 ...

  2. Maven 工程下 Spring MVC 站点配置 (一)

    最近,查找一些具体资料时,虽然会有很多,但是系统的却很少,尤其是对maven 下 spring mvc 站点搭建的配置,总是说的很多但让新手一目了然的步骤却少之又少. 对此闲暇时整理了一下,做了一套较 ...

  3. 2017.3.31 spring mvc教程(二)核心流程及配置详解

    学习的博客:http://elf8848.iteye.com/blog/875830/ 我项目中所用的版本:4.2.0.博客的时间比较早,11年的,学习的是Spring3 MVC.不知道版本上有没有变 ...

  4. spring 学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试

    spring学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试 ioc 概念 控制反转(Inversion of Control,缩写为IOC),是面向 ...

  5. Spring MVC 事务配置

    Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法: 一.      XML,使用tx标签配置拦截器实现事务 一.   ...

  6. Spring MVC的配置和使用

    Spring MVC的配置和使用 笔记仓库:https://github.com/nnngu/LearningNotes Spring MVC需要的jar包 文章中 Spring MVC 使用的版本是 ...

  7. [转]Spring MVC 事务配置

    Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法:  <tx:advice/>就是告诉事务管理器:怎么做 ...

  8. 【Java Web开发学习】Spring MVC 开始配置

    Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ======== ...

  9. Spring MVC国际化配置

    Spring MVC国际化配置 前言 项目开发中要考虑支持国际化,框架选用的是Spring MVC框架,那么问题来了Spring MVC如何配置并实现国际化. 实现过程(Maven项目) 对于Spri ...

随机推荐

  1. strut2 自己定义文件上传错误信息

    在文件上传过程中我们能够指定拦截器对文件类型.后缀名.大小进行设定,action中的配置: <interceptor-ref name="fileUpload"> &l ...

  2. Android应用程序资源的编译和打包过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8744683 我们知道,在一个APK文件中,除了 ...

  3. Eclipse安装Vim——viPlugin插件

    1.下载viPlugin: http://www.viplugin.com/files/viPlugin_2.14.0.zip 2.安装 解压后有两个文件夹: features 和 plugins 把 ...

  4. C# 4.0 并行计算部分

    C# 4.0 并行计算部分   c#linq算法多线程list微软   目录(?)[-] C 40 并行计算部分 一简单使用 二 并行循环的中断和跳出 三并行循环中为数组集合添加项 四返回集合运算结果 ...

  5. respondsToSelector的相关使用

    -(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例 -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例 -( ...

  6. iOS学习资料整理

    视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...

  7. pom.xml配置

    1:头部引用 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3 ...

  8. OpenCV——KNN分类算法 <摘>

    KNN近邻分类法(k-Nearest Neighbor)是一个理论上比较成熟的方法,也是最简单的机器学习算法之一. 这个算法首先贮藏所有的训练样本,然后通过分析(包括选举,计算加权和等方式)一个新样本 ...

  9. [翻译] C++ STL容器参考手册(第一章 <array>)

    返回总册 本章节原文:http://www.cplusplus.com/reference/array/array/ 1. std::array (C++11支持) template < cla ...

  10. 不用图片,纯Css3实现超酷的类似iphone的玻璃气泡效果

    最近在一个私活做手机项目时候,需要实现一个类似ios 6中短信那样的气泡效果. 这里分享下实现心得,希望能给大家一点启发. 首先分析下iphone的气泡效果有一下特点 1. 四面圆角 2. 界面上向下 ...