【初学Mybatis】No.3 SQL基本配置与执行

3 篇文章 0 订阅
3 篇文章 0 订阅

写在前面的话:暂无

  1. 【初学Mybatis】No.1 使用Maven创建一个JavaWeb3.0项目
  2. 【初学Mybatis】No.2 Mybatis的下载和搭建核心架构(Maven搭建)
  3. 【初学Mybatis】No.3 SQL基本配置与执行

No.1 拷贝SQL语句配置模版

路径为:\src\test\java\org\apache\ibatis\submitted\complex_property\User.xml

推荐拷贝到resources\mybatis\sqlxml\ 下,如图所示:
这里写图片描述

由于此处的例子主要用于处理消息,我将它重命名为message.xml 以示区别。
如图所示:

这里写图片描述

关于Message.xml的说明放在第二步中

No.2 在核心配置文件中导入SQL语句配置文件

  1. 打开核心配置文件:Configuration.xml
  2. 使用<mappers></mappers>标签对第一步中的SQL语句配置模版进行加载
  3. 在resource后面加上Message.xml的配置文件路径
    <!-- Message SQL语句配置文件 -->
    <mappers>
    <mapper resource="mybatis/sqlxml/Message.xml"/>
    </mappers>

关于Message.xml的简单说明(包含整个Message.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">
<!-- 类似于JAVA中的包,主要用于在JAVA代码对SQL语句的寻找,每个SQL语句配置文件都需要有这namespace -->
<mapper namespace="Message">

  <!-- com.baofeidyz.entity.Message 对应关系,对比在JAVA JDBC代码中的各种set语句;
    type对应java中的类,需要详细写明包名;
    id是唯一的标识,在整个Mybatis环境中,不可重复;
    <id/>表示在数据库中作为主键的参数,其他参数则使用<result/>标签表示;
    jdbcType与JAVA代码中 java.sql.Types.* 中的相同,均表示该参数的数据类型;
    property对应在java类中的属性名;
    以此形成一一对应的关系。
 -->
  <resultMap type="com.baofeidyz.entity.Message" id="MessageResult">
    <id column="id" jdbcType="INTEGER" property="id"/>
    <result column="command" jdbcType="VARCHAR" property="command"/>
    <result column="description" jdbcType="VARCHAR" property="description"/>
    <result column="content" jdbcType="VARCHAR" property="content"/>
  </resultMap>
<!-- 所有的.xml配置文件中,id都是唯一的
    resultMap表示数据的对应关系,resultMap顺序应在select语句之前
 -->
<select id="queryMessageList" parameterType="com.baofeidyz.entity.Message" resultMap="MessageResult">
    SELECT id,command,description,content FROM message WHERE 1 = 1
</select>
</mapper>

No.3 在JAVA代码使用sqlSession对象进行数据库操作

返回到之前的dao层中去,找到之前写好的MessageDao类

package com.baofeidyz.dao;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.baofeidyz.db.DBAccess;
import com.baofeidyz.entity.Message;

/**
 * 
 * 描述:和message表相关的数据库操作
 * 开发人员:暴沸
 * 开发时间: 2017年2月7日 下午9:08:11
 * 联系方式:admin@baofeidyz.com 
 *
 */
public class MessageDao {

    /**
     * 根据查询条件查询消息列表
     */
    public List<Message> queryMessageList(String command,String description){
        List<Message> list = new ArrayList<>();

        DBAccess dbAccess = new DBAccess();
        SqlSession sqlSession = null;
        try {
            //通过daAccess对象获取sqlSession对象
            sqlSession = dbAccess.getSqlSession();
            //通过sqlSession执行SQL语句
            //直接使用namespace.id即可找到已经在Message.xml文件中配置好的SQL语句
            list = sqlSession.selectList("Message.queryMessageList");
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            //sqlSession.close();
        }
        return list;
    }
    //测试类,请自行删除
    public static void main(String[] args) {
        MessageDao messageDao = new MessageDao();
        List<Message> list = messageDao.queryMessageList("", "");
        System.out.println(list.size());
    }

}

git地址:https://code.csdn.net/baofeidyz/mybatisstudypratice02mircromessage_no-3/tree/master
资源地址:http://download.csdn.net/detail/baofeidyz/9752621 解压密码: baofeidyz

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值